Запутанная миграция в Джанго
У меня есть небольшая необычная миграция на моем сайте django:
Мне нужно восстановить базу данных со старыми конфигурациями, потому что старый веб-сайт все еще работает, и мне нужны его данные.
Когда я закончу процесс восстановления, как я перенесу его? Могу ли я снова запустить более старую миграцию, а потом создать новую? Или система миграции django может распознавать текущую конфигурацию базы данных и предлагать новые миграции?
Это может быть простая миграция (или нет), но я должен быть уверен в том, что я делаю раньше.
Извините за мой плохой английский. Я ценю любую помощь.
1 ответ
Вы можете пройти процесс:
1. Прежде всего создайте новую базу данных с namesay-> NewProduction.
- Теперь удалите все файлы миграции из приложений, которые вы хотите удалить.
- Запустите python manage.py showmigrations, чтобы увидеть, какие миграции были, но не перенесены.
- Запустите команду migrate, начиная с auth, sites, session, а затем по одному приложению.
- Возьмите дамп своей предыдущей базы данных, но следите за таблицами... возьмите дамп таблицы один раз за время, в котором вы уверены, и отправьте его в NewProduction.
- Этот предыдущий шаг не изменит вашу таблицу django_content_type, django_sessions и т. Д.
- Измените все значения content_type_values в обновленной таблице, посмотрите таблицу djang_content_type для каждого приложения и обновите соответственно.
это правильное решение, которое я сделал для миграции моего проекта.