Плагины миграции базы данных Grails

Существует не менее двух плагинов Grails, которые эмулируют функциональность миграции базы данных Rails:

Существует ли консенсус относительно того, какой из них лучше всего, или есть другой плагин, который лучше переносит базу данных, чем любой из вышеперечисленных?

Ответ 1

Теперь доступен стандартный плагин миграции баз данных Grails. Согласно этому сообщению в блоге, по крайней мере, плагин Liquibase, следовательно, больше не будет поддерживаться после выпуска Liquibase 1.9.

Новый плагин миграции базы данных имеет встроенную функциональность для выполнения изменений в процессе запуска и поддерживает определение изменений в Groovy DSL, так что, возможно, вы, ищет.

Ответ 2

Я использую Autobase (который построен поверх Liquibase), поскольку он (последний раз, когда я проверял) позволяет автоматически проверять/применять ваши миграции при запуске приложения. С плагином Liquibase я должен сделать это сам в коде init init. Это позволяет установить источник данных dbCreate = none и позволить Autobase обрабатывать DB в форме.

Это означает, что вам нужно написать миграцию каждый раз, когда вы добавляете свойство в класс домена, но я думаю, что это хорошо, поскольку вы задумываетесь над тем, что должно быть на самом деле базовым полем, а не просто позволить Hibernate принять догадаться об этом.

Я думаю, что некоторые из плагина Autobase (например, groovy dsl) переносятся обратно в плагин Liquibase, но вам нужно будет это проверить.

Единственным недостатком Autobase является отсутствие хорошей документации. Есть некоторые, но они не завершены. К счастью, dsl совпадает с тегами Liquibase xml, поэтому вы можете работать с большинством из них.

Ответ 3

Я использую Liquibase, я не уверен, что Роберт все еще активно поддерживает Autobase и xml, который предоставляет Liquibase, на самом деле довольно DSL-подобный. Я думаю, что это также дает немного разделения на ваши команды базы данных и не делает его укорененным в процессе запуска (некоторые могут предпочесть обратное).

Ответ 4

По крайней мере, с Grails2.0, плагин миграции базы данных - это метод defacto для обработки нетривиальных изменений базы данных. Плагин построен на Liquibase и является автором Springsource - всегда является признаком качества. Я написал введение в плагин миграции базы данных, который может быть полезен для кого-то, кто читает это.

Ответ 5

Я слышал, что Autobase все еще поддерживается, но учтите, что плагин миграции баз данных Grails написан основной командой и, вероятно, будет официально поддерживаться.

Другими словами, рекомендуем вам подождать Grails 1.4 → roadmap перед тем, как выбрать один из плагинов выше.