Синхронизация PostgreSQL и проекта Django

У меня была унаследованная база данных, которую я загрузил в PostgreSQL и соединил ее с Django. Затем я изменил БД, выполнив SQL скрипты непосредственно в PostgreSQL (я удалил несколько столбцов), затем вручную удалил несколько столбцов в django models.py. С тех пор я не могу сделать никаких миграций, всякий раз, когда я пытаюсь это сделать, Django пытается удалить столбец, который я удалил вручную, и выдает ошибку ниже. Как мне синхронизировать мою БД и проект Django, чтобы я мог вносить изменения в проект?

django.db.utils.ProgrammingError: column "confidence" of relation "Location" does not exist

Вы должны стараться использовать миграции даже для выполнения пользовательского SQL. Это позволит избежать подобных ситуаций.

Однако вы можете пропустить одну миграцию, если изменения уже применены к вашей базе данных, используя флаг --fake для ./manage.py migrate

https://docs.djangoproject.com/en/4.1/ref/django-admin/#cmdoption-migrate-fake

Если это невозможно, вы можете добавить столбец с именем confidence в таблицу Location с помощью прямых команд SQL. Затем миграция удалит этот столбец, чтобы синхронизировать вас с графом базы данных модели.

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