У меня нет опыта работы с такими инструментами, как Liquibase и аналогичными. До сих пор в способе, которым я обычно управлял развертыванием в приложениях, использующих Hibernate, использовался ручной SQL для изменения таблиц, поскольку они были довольно простыми приложениями (сложные не использовали его ... не спрашивайте, пожалуйста: P).
Я хотел использовать Evolutions в игре, но я вижу, что он сильно конфликтует с Hibernate в разработке, что делает его болезненным, а не реалистичным вариантом. В разработке Hibernate управляет всем легко, поэтому нет смысла использовать Evolutions, но мы хотели сохранить структуру (файлы), чтобы упростить миграцию приложения в производственном режиме. Но из-за столкновений он не выглядит достойным.
У Liquibase был модуль Play, но он, кажется, был прекращен с момента выхода Evolutions (интересно, почему, как я полагаю, это будет удивительно работать с Hibernate).
Вопрос (ы) будет:
- Как вы управляете миграцией баз данных приложений в рабочей среде?
- Какую обычную процедуру / шаги вы используете, когда ваша модель меняется между выпусками, и вам приходится развертывать в производство?
- Какой-либо конкретный инструмент или особенность Hibernate, который мы пропускаем, или просто устаревшая таблица SQL Alter и т. П.?
- Ориентируясь на Play Framework, как вам это удается?