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