Создание миграций для проекта Django, в котором еще нет миграций

Я работаю на клиента с проектом Django 13-летней давности. Когда они создавали проект, миграции не были реализованы, поэтому в настоящее время в проекте отсутствуют миграции. Я пытался создать миграции, а затем сделать datadump и loaddata в новую базу данных, чтобы протестировать их. Я сталкиваюсь со всевозможными ошибками и хотел бы начать с чистого листа.

Итак, мой вопрос заключается в следующем. Какие шаги я должен предпринять для внедрения миграций в проект, чтобы мы могли двигаться вперед, используя миграции? Версия django была обновлена до 3.0.5, и в ней используется несколько GenericForeignKeys, что может сделать это еще более сложным. При создании миграций мне сказали использовать поддельный тег, но я не совсем понимаю, что это значит.

Любая помощь в шагах, которые я должен предпринять, будет оценена по достоинству. В целях конфиденциальности/безопасности для клиента я не хочу просто делиться тонной его кода, но могу поделиться его частями, если это поможет кому-то определить шаги, которые мне следует предпринять.

Для справки. После первоначального создания файлов миграции и последующих попыток выполнить команды dumdata/loaddata я обычно получаю ошибку, говорящую о наличии дубликатов записей, относящихся к contenttypes или дубликатов записей для доменов django_site. У клиента домены настроены в зависимости от того, из какой точки мира он входит в систему, поэтому "имя" сайта уникально, но "домен" один и тот же.

(1062, "Duplicate entry 'www.example.com' for key 'django_site.django_site_domain_a2e37b91_uniq'")
  • Если речь идет о работе на локальном, просто удалите все миграции (кроме migrations/__init__.py.) и makemigrations снова.

  • Если вы работаете на продакшене, вы можете спокойно использовать --fake один раз.

  • Вы также можете изменить старые миграции, если вы знаете, как работать с миграциями, и если это несколько файлов.

Я уже отвечал на подобный вопрос здесь .

Вернуться на верх