DJANGO миграция большой базы данных с SQLite3 на PostgreSQL
У меня есть относительно тендерная база данных с примерно 50 классами моделей в DJANGO, и я хотел бы перенести ее с SQLite3 на PostgreSQL.
Я создал фиктивный локальный PSQL для тестирования. В нескольких других сообщениях я прочитал, что нужно сделать следующее:
- dump the db
- Change SQL credentials in setup.py
- migrate
- load the db
Мне удалось сбросить БД в json-файл. После того, как я изменил свои настройки на следующие:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'test_db_name',
'USER': 'test',
'PASSWORD': 'test',
'HOST': 'localhost',
'PORT': '',
}
}
Я создал БД вручную, потому что получал ошибки, что она не существует.
После этого, если я запускаю python3 manage.py migrate
, я получаю кучу ошибок, что таблицы не существует, так что это не делает то, что я хотел.
Конец длинной ошибки:
django.db.utils.ProgrammingError: relation "gympro_gymclasstype" does not exist
LINE 1: ...."type", "gympro_gymclasstype"."description" FROM "gympro_gy...
Я также видел в других сообщениях, что я должен сбросить миграции, поэтому я попробовал python3 manage.py --fake appname zero
. Это также не помогло, поэтому я попробовал вернуть старый SQLite3 cretendials, сделал фальшивый сброс, проверил с помощью showmigrations
, что текущее состояние находится на init
, изменил учетные данные SQL на PSQL, попробовал мигрировать снова, но безуспешно, те же ошибки.
Что я делаю не так?