Как обрабатывать обновления схемы в производственных базах данных в Spring Applications - PullRequest
2 голосов
/ 23 января 2012

Каковы ваши рекомендации по выполнению процедуры обновления производственной базы данных с использованием Spring Framework и Hibernate?

Ответы [ 3 ]

3 голосов
/ 23 января 2012

Вы также можете взять много на Flyway: http://flywaydb.org

Гораздо проще, чем Liquibase.

2 голосов
/ 23 января 2012

Вы можете попробовать использовать Liquibase .Он имеет поддержку Hibernate

0 голосов
/ 23 января 2012

Мой метод (мы отправляем продукт, в котором нам, возможно, придется обновить версию 5,10,15 и т. Д.).

  • Создайте версию вашей схемы и сохраните копию каждой версии вместе стекущая схема
  • При установке магазина, версия которого вы обновили в таблице базы данных
  • Напишите процесс установки, который рассчитывает шаги обновления, чтобы перейти от текущей версии БД -> последняя версия программного обеспечения
  • Предоставьте метод добавления пользовательских шагов обновления для каждой версии для переноса таблиц из старой схемы в новую схему
  • Сделайте все настраиваемые шаги обновления перезапускаемыми, поскольку вы не можете выполнить некоторые из этих изменений (DDL)

Опционально

  • Имеет тупое средство обновления схемы, которое может обновлять ваши таблицы, но не данные, т. Е. Переименовывая столбец, он не сможет понять, что делать сстарые данные (утеряны)
  • Использование пользовательских шагов обновления включает в себя шаги до и после обновления dumb-schema-Updater, первые для миграции важных данных, которыеОн тупой обновитель потерял бы / сломал, второй, чтобы исправить любые данные после обновления схемы.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...