Django - команда migrate не использует последний файл миграций

У меня создано 5 файлов миграции. Но когда я запускаю ./manage.py migrate он всегда пытается применить файл миграции "3". Несмотря на то, что последним является файл 5.

Как я могу решить эту проблему?

Я пробовал:

./manage.py makemigrations app_name
./manage.py migrate app_name
./manage.py migrate --run-syncdb

Кроме того, я проверил dbshell, и там уже создана таблица для модели, которая является частью файла миграций 5.

Простая вещь, потому что вы не использовали значение migration file при выполнении makemigrations. А значение файла миграции - 0005. Вы должны указать это значение при выполнении makemigrations.

Используйте эти три команды для миграции:

python manage.py makemigrations appname

python manage.py sqlmigrate appname 0005 #specified that migration file 5 value here

python manage.py migrate

Теперь миграции будут применяться к этому файлу миграции 5, используя его значение 0005

В итоге я удалил файл миграции 3, который подхватывался django, и добавил операции из файла миграции 3 в исходный файл. Затем, когда я запустил migrate <app_name>, он подхватил последний файл (файл 5). Хотя мне пришлось разрешить некоторые конфликты между файлом 3 и предыдущими файлами

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