У меня есть файл дампа базы данных моей PostgreSQL базы данных, созданной pg_dump
.
Переношу этот файл на новый сервер. Я также перенес все соответствующие файлы models.py
на этот сервер Never. Я использовал следующую команду для загрузки всех данных на новый сервер.
gunzip -c dump_file | psql -p port db_name db_user
Я настроил Django для доступа к этой базе данных, и я могу запрашивать данные, используя manage.py shell_plus
. Для eaxmple я могу запустить Images.objects.all().count()
, который возвращает правильное число, то есть такое же количество объектов изображения, какое было на старом сервере.
Учитывая, что это другой сервер, он не содержит никаких исходных файлов миграции. Я использовал ./manage.py makemigrations
для создания файлов миграции. Кажется, это работает правильно, и файлы миграции создаются для каждого из моих installed_apps
.
Далее запускаю ./manage.py migrate
. Это приводит к следующей ошибке:
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration shapes.0001_initial is applied before its dependency bsdfs.0002_auto_20200527_1647 on database 'default'.
Все ответы на SO говорят, что нужно просто раскомментировать shapes
из списка installed_apps
, но это не работает, потому что это приводит к следующей ошибке, когда я ' m импортируя его в models.py.
Модели очень большие, и раскомментировать каждый экземпляр, где используется shapes
, это невозможно.
RuntimeError: Model class shapes.models.Material doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS
Что я могу сделать, чтобы правильно перенести базу данных?