Выбор ответа Middle Миграции обновлено
Ограничения autogenerate в Alembic
Вопрос
Что важно помнить про alembic revision --autogenerate?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Он не видит переименований (drop и add) и не всё замечает: проверяй вручную. Autogenerate сравнивает метаданные моделей со схемой базы и пишет черновик.
Варианты ответа
- Он сразу применяет изменения к базе, поэтому запускать его можно только локально
- Он генерирует и миграции данных, перенося значения из удалённых колонок в новые
- Он не видит переименований (drop и add) и не всё замечает: проверяй вручнуюправильный ответ
- Он поддерживает SQLite, а для PostgreSQL миграции пишут руками
Разбор
Autogenerate сравнивает метаданные моделей со схемой базы и пишет черновик. Переименование таблицы или колонки он превратит в drop и add, и данные пропадут, если не поправить. Некоторые изменения (например, часть изменений типов и серверных дефолтов) тоже требуют настройки или ручной правки. Применяет миграции alembic upgrade, данные он не мигрирует, СУБД поддерживает разные.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.