Перемещение моделей в новое приложение django

В моем проекте django у меня есть приложение, которое обрабатывает две модели (две таблицы mysql), я заметил, что лучше создать новое приложение с предыдущими моделями. Итак, вопрос: как я могу это сделать с югом? учитывая, что я знаю другой путь без юга и который заключается в создании нового приложения, syncdb, а затем перемещении данных из старой таблицы в новую с использованием сценария shell/python и, наконец, удаления старой таблицы. Но я хотел бы быть джентльменом и стильным: D

заранее спасибо

1 ответ

В основном вы делаете то, что вы описываете с южными миграциями.

  1. Создайте начальную миграцию, чтобы определить схему schemamigration <new_app_name> --initial</new_app_name>
  2. Создайте перенос данных, чтобы скопировать данные из одного приложения в другое datamigration <new_app_name> </new_app_name> Вам нужно будет изменить файл, созданный в методах .forward() .backward() чтобы определить, как вы хотите переместить данные

  3. Создайте миграцию схемы в исходном приложении для удаления schemamigration <original_app_name> -auto</original_app_name>

Поскольку вам необходимо, чтобы данные существовали в исходном приложении, сначала примените новое приложение, а затем оригинальное приложение при вызове migrate.

licensed under cc by-sa 3.0 with attribution.