Запутанная миграция в Джанго

У меня есть небольшая необычная миграция на моем сайте django:

Мне нужно восстановить базу данных со старыми конфигурациями, потому что старый веб-сайт все еще работает, и мне нужны его данные.

Когда я закончу процесс восстановления, как я перенесу его? Могу ли я снова запустить более старую миграцию, а потом создать новую? Или система миграции django может распознавать текущую конфигурацию базы данных и предлагать новые миграции?

Это может быть простая миграция (или нет), но я должен быть уверен в том, что я делаю раньше.

Извините за мой плохой английский. Я ценю любую помощь.

1 ответ

Вы можете пройти процесс:

1. Прежде всего создайте новую базу данных с namesay-> NewProduction.

  1. Теперь удалите все файлы миграции из приложений, которые вы хотите удалить.
  2. Запустите python manage.py showmigrations, чтобы увидеть, какие миграции были, но не перенесены.
  3. Запустите команду migrate, начиная с auth, sites, session, а затем по одному приложению.
  4. Возьмите дамп своей предыдущей базы данных, но следите за таблицами... возьмите дамп таблицы один раз за время, в котором вы уверены, и отправьте его в NewProduction.
  5. Этот предыдущий шаг не изменит вашу таблицу django_content_type, django_sessions и т. Д.
  6. Измените все значения content_type_values ​​в обновленной таблице, посмотрите таблицу djang_content_type для каждого приложения и обновите соответственно.

это правильное решение, которое я сделал для миграции моего проекта.

Другие вопросы по тегам