Мой метод (мы отправляем продукт, в котором нам, возможно, придется обновить версию 5,10,15 и т. Д.).
- Создайте версию вашей схемы и сохраните копию каждой версии вместе стекущая схема
- При установке магазина, версия которого вы обновили в таблице базы данных
- Напишите процесс установки, который рассчитывает шаги обновления, чтобы перейти от текущей версии БД -> последняя версия программного обеспечения
- Предоставьте метод добавления пользовательских шагов обновления для каждой версии для переноса таблиц из старой схемы в новую схему
- Сделайте все настраиваемые шаги обновления перезапускаемыми, поскольку вы не можете выполнить некоторые из этих изменений (DDL)
Опционально
- Имеет тупое средство обновления схемы, которое может обновлять ваши таблицы, но не данные, т. Е. Переименовывая столбец, он не сможет понять, что делать сстарые данные (утеряны)
- Использование пользовательских шагов обновления включает в себя шаги до и после обновления dumb-schema-Updater, первые для миграции важных данных, которыеОн тупой обновитель потерял бы / сломал, второй, чтобы исправить любые данные после обновления схемы.