Как исправить рассинхронизацию миграции Django с уникальным ограничением

У меня была модель, которая выглядела примерно так:

class FooBar(models.Model):
    foo = models.ForeignKey(Foo, on_delete=models.CASCADE)
    bar = models.ForeignKey(Bar, on_delete=models.CASCADE)
    <some other fields>

    
    class Meta:
        constraints = [
            models.UniqueConstraint(fields=['foo', 'bar'], name='foobar_candidate_key')
            ]

Я удалил поля foo и bar, сделал миграции и запустил миграции. При этом я не удалил класс Meta. Я заметил, что забыл удалить класс Meta и удалил его. Затем я снова создал миграции и попытался выполнить миграцию. Я получил ошибку типа:

django.db.utils.OperationalError: (1091, "Can't DROP 'foobar_candidate_key'; check that column/key exists")

Как я могу исправить? Я рассматривал возможность использования --fake, но я беспокоюсь, что ограничение все еще находится в ограничениях базы данных и мне нужно его удалить?

Вернуться на верх