Выбор ответа Junior Миграции спрашивают часто обновлено
makemigrations и migrate
Вопрос
Чем makemigrations отличается от migrate в Django?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: makemigrations создаёт файлы по моделям, migrate применяет их к базе. makemigrations сравнивает модели с состоянием, накопленным в существующих миграциях, и пишет новый файл с операциями.
Варианты ответа
- Это синонимы: обе команды создают и сразу применяют миграции
makemigrationsприменяет миграции к базе, аmigrateоткатывает ихmakemigrationsсоздаёт файлы по моделям,migrateприменяет их к базеправильный ответmigrateсоздаёт модели по таблицам базы, аmakemigrationsделает наоборот
Разбор
makemigrations сравнивает модели с состоянием, накопленным в существующих миграциях, и пишет новый файл с операциями. База при этом не меняется. migrate выполняет неприменённые миграции и отмечает их в таблице django_migrations. Откат делается тем же migrate с указанием более ранней миграции. Модели по таблицам строит inspectdb.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Миграция встала в очередь за долгой транзакцией
Следующий вопрос
Операции миграций Django