Вопросы по миграции Django

Я новичок в Django, но каждый раз, когда я вношу какие-либо изменения в модели, мне нужно сделать 'python manage.py makemigrations', затем 'python manage.py migrate'

makemigrations создаст новые файлы в папке migrations:

0001_xx
0002_xx
0003_xx
...

Мой вопрос в том, правильно ли я поступаю? Потому что если каждый раз, когда происходит изменение модели БД, создается новый файл миграции, то в итоге у меня может получиться много файлов миграции. Тогда как сделать миграцию, когда я хочу перейти на продакшн? Просто запустить 'python manage.py migrate'?

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

Вы должны загрузить все эти миграции в продакшн, или вы можете просто удалить их все (не удаляйте init.py) и мигрировать один раз, прежде чем запустить код в продакшн env.

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