Вопрос

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

я разрабатываю приложение в netbeans, используя maven с тремя модулями:модуль dbunit, сервисный модуль и модуль веб-приложения. Как вы уже догадались, dbunit выполняет работу с базой данных, служба находится поверх нее, а веб-приложение использует службы. Таким образом, родительский pom имеет объявление всех идентификаторов групп, артефактов и версий для все банки и плагины.

Мне удается создать файл журнала изменений из командной строки, поскольку база данных уже существует, и если предположить, что я все правильно настроил, используя плагин liquibase maven:

Вопрос 1 :Какова будет цель жидкой базы, поскольку прямо сейчас я делаю какие-либо изменения в базе данных?

вопрос 2 :Если я хочу добавить, например, новую таблицу в базу данных, добавлю ли я этот новый набор изменений в тот же файл журнала изменений или мне придется создать новый файл Changelog.xml?

Вопрос 3 :Я полагаю, что когда dbunit запустится, он запустит набор изменений, но необходимо ли добавлять плагин и в модуль веб-приложения (возможно, для запуска цели Liquibase перед развертыванием с грузовым плагином), или об этом позаботится dbunit?

Вопрос 4 :Какая именно Subversion помогает сохранять состояния журнала изменений (при условии, что существует только один журнал изменений, см. вопрос 2)

спасибо, что прочитали это и помогли.

Это было полезно?

Решение

  1. Видеть http://www.liquibase.org/documentation/maven

поэтому вам следует привязать выполнение Liquibase к такой фазе, как

<phase>process-resources</phase>

Но я тоже использую Spring-исполнитель.Поэтому каждый раз, когда мое приложение запускается, оно запускает исполнитель Liquibase для выполнения отсутствующих журналов изменений в базе данных.Это приятно, потому что, когда вы будете готовы к работе и тестам, liquibase обновит вашу базу данных разработки, но не вашу производственную базу данных.Но когда вы устанавливаете свою войну и запускаете веб-приложение, liquibase автоматически обрабатывает ее, чтобы привести вашу базу данных в текущее состояние.Таким образом, вам не нужно помнить о каких-то дополнительных действиях перед развертыванием новой версии.

  1. Сохраните файл журнала изменений.xml, включив в него файлы журнала изменений, подобные этому.

    http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.9.xsd">
    если вам нужна новая таблица, добавьте файл Changelog-0002.xml и укажите его в главном файле Changelog.xml.

  2. смотри ответ 1.Я бы тоже добавил ваш модуль веб-приложения.

  3. У вас должно быть много файлов журнала изменений.так что этот вопрос не актуален.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top