Запутанная миграция в django

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

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

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

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

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


person Roberto Assunção Filho    schedule 03.04.2016    source источник
comment
Была ли старая база данных также создана с помощью django и просто напоминает более раннее состояние с отсутствием некоторых новых миграций?   -  person Tim    schedule 03.04.2016
comment
Да, база данных используется на старом сайте с более ранним состоянием. На самом деле это тот же проект django. Но старшая также с более старой версией кода.   -  person Roberto Assunção Filho    schedule 03.04.2016
comment
Затем вы сможете просто перенести базу данных с помощью созданных вами миграций. Состояние миграций хранится в базе данных, поэтому оно будет восстановлено вместе с остальными данными. Однако сначала протестируйте его в тестовой среде, чтобы не потерять данные.   -  person Tim    schedule 03.04.2016
comment
Хорошо, делаю это сейчас. Спасибо.   -  person Roberto Assunção Filho    schedule 03.04.2016


Ответы (1)


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

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

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

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

person dilwaria    schedule 04.08.2016