У меня проблема strnage. В моем проекте django есть модуль/приложение myapp. Мой проект использует юг для миграции схемы. На локальном хосте я запустил ./manage.py schemamigration myapp --initial
, затем я запустил команду migrate.django + south: команда migrate не создает таблицу в базе данных
Но когда в производственной среде я выполняю команду migrate
, это не создает соответствующую базу данных (моделей myapp) в базе данных.
Это странно, потому что если я выполняю migrate --list
, myapp должен выполнить миграцию, и все они отмечены (с символом *).
Итак, я думаю об удалении myapp и воссоздании его с нуля (с соответствующими переходами). Есть ли лучшее решение?
EDIT: Я попытался удалить myapp и воссоздать его с нуля. Поэтому я также удалять таблицы MyApp в базе данных (на локальный и на производственном сервере), и в конце концов я выполнил:
schemamigration myapp --initial
команда на локальный
migrate myapp
команды на локальном хосте
migrate myapp 0001 --fake
на производственном сервере
но Юг продолжает не создавать таблицы myapp в базе данных производственного сервера.
Почему вы называете 'migrate ... --fake'? '--fake' делает юг только маркой миграции как успешной, но не касаются фактической схемы БД. – ilvar