Простой блог на Django - часть 2. Миграции: команды для их создания и применения.
Прежде чем начать работу с миграциями, у вас должны быть созданы модели и настроено подключение к базе данных. Само подключение настраивается в файле newapp/settings.py По умолчанию Django работает с базой данных SQLite, и для учебных целей нас это вполне устраивает.
Так же, перед тем, как производить какие-либо действия с миграциями, нужно убедиться что в файле настроек settings.py в рабочей папки приложения, прописан путь к приложению, по моделям которого и будут созданы все необходимые миграции. За это отвечает переменная INSTALLED_APPS
Убедившись, что с этим всё ок, из рабочей папки приложения newapp/newapp даём команду на создание миграции:
python manage.py makemigrations
Это приведёт к тому, что в папке migraions соответствующего приложения появятся скрипты миграции, которые были сгенерированы по моделям. Сами миграции - это ни что иное, как указание для базы данных, какие таблицы и поля ей необходимо создать для работы с нашим приложением. Ну а чтобы применить миграции, необходимо дать следующую команду:
python manage.py migrate
При этом в базе данных будут созданы таблицы не только тех приложений, которые были перечислены в переменной INSTALLED_APPS, но и таблицы, которые необходимы для корректной работы админки сайта (на основе встроенных миграций).
Как правильно добавить новую колонку?
Предположим, произошла такая ситуация, что вы применили миграцию, но потом вспомнили что забыли добавить туда какое-то поле или у вас возникла такая необходимость после. Какой порядок действий тогда будет правильным? В этом случае сначала редактируем файл модели, добавляя туда новую колонку:
title = models.CharField( max_length=200, null=True, )
Затем, точно так же, даём команды на создание и применение миграций:
python manage.py makemigrations
python manage.py migrate
Вы должны авторизоваться, чтобы оставлять комментарии.
Комментарии ()