Разделите изменение схемы, заполнение данных и переключение приложения
Зачем
Зачем это нужно
Проверьте совместимость старой версии кода во время выпуска
Отметьте необратимые шаги и условия восстановления до запуска миграции
Вопросы
Частые вопросы
Как запросить поэтапную миграцию без потери совместимости?
Спланируй миграцию таблицы customers(id,email) с добавлением поля display_name, которое в конце должно стать NOT NULL. Старое приложение ещё не пишет новое поле; временное значение нужно получить из email только по согласованному правилу, не раскрывая адрес. Предложи этапы nullable, совместимой записи, пакетного заполнения и ограничения, условия остановки и отката. Запроси версию СУБД для точного DDL; SQL не выполняй.
Какие данные нужны для плана миграции БД?
Передайте СУБД и версию, текущую схему, объём таблицы и описание одновременных читателей и писателей. Уберите секреты и реальные email. Сначала уточните правило заполнения, затем проверьте каждый этап на копии с возможностью восстановления.
Что проверить перед добавлением NOT NULL?
На тестовой базе проверьте старые строки, новые записи во время заполнения и повторный запуск пакета. Не должно остаться NULL, а актуальная версия приложения должна всегда записывать допустимое значение. При оставшихся NULL шаг с ограничением должен быть остановлен.
Всегда ли миграцию можно отменить транзакцией?
Нет, транзакционность DDL и блокировки зависят от СУБД и операции. Удалённые или преобразованные данные обратная команда схемы может не вернуть. Отдельно проверьте восстановление резервной копии и совместимость откатываемой версии приложения.
Рядом
Соседние страницы каталога
Дальше — весь каталог задач: поиск по названию, темы и фильтры.