Удаляйте колонку поэтапно: сначала уберите зависимости приложения и фоновых процессов, переждите окно совместимости и только отдельной миграцией удалите столбец.
Как правильно, пошагово, безопасно удалить столбец из базы данных, который больше не используется, но старый код всё ещё может к нему обращаться?
Удаляйте колонку поэтапно: сначала уберите зависимости приложения и фоновых процессов, переждите окно совместимости и только отдельной миграцией удалите столбец.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Удаляйте колонку поэтапно: сначала уберите зависимости приложения и фоновых процессов, переждите окно совместимости и только отдельной миграцией удалите столбец.
Проверьте чтение, запись, отчёты, триггеры, представления и старые задания в очередях. Выпустите код, который не обращается к колонке; если она NOT NULL без default, заранее согласуйте возможность старых и новых вставок.
Дождитесь обновления всех экземпляров и окончания периода отката на старый код. При необходимости сохраните данные в резервной копии. Затем выполните DROP COLUMN с контролем блокировок и зависимостей. После удаления откат только приложения может оказаться невозможен; это должно быть частью плана выпуска.