Здравствуйте.
Прошу подсказки/критики по процессу миграции на Liquibase.
Дано:
1. Дамп базы PostgreSQL (в формате plain, т.е. по сути скрипты наполнения БД).
2. Основное приложение которое пользуется этой БД на java, есть еще одно на php
Нужно: для этой базы реализовать использование скриптов миграции БД. Т.е. идеальный вариант когда приложение стартует и автоматически создает или мигрирует БД. Сейчас это делается руками.
Предлагается достичь цели по шагам:
1. Дамп разделить на 2 отдельные части: схема БД, данные (справочные данные, первоначальные значения параметров приложения).
2. Файл со скриптом создания схемы поделить на отдельные скрипты создающие объекты БД: расширения, функции, таблицы.
3. Файл со скриптами создающими данные также разделить на отдельные файлы для каждой таблицы.
4. Для каждого получившегося файла описать соответствующий changeset в формате liuquibase (личное предпочтение YAML).
5. Данный набор передать разработчикам для встраивания в приложение.
Если был подобный опыт подскажите, пожалуйста, что не учтено в этой схеме. Или возможно что-то лишнее. И, самое главное, какие есть инструменты для автоматизации процесса подобной миграции.
В принципе у нас, в свое время, был такой же подход.
На всякий случай упомяну:
- Мы помнили что рано или поздно придется обновлять существующую(рабочую) базу данных, и не забывали о preconditions для каждого set'a
- Мы написали тесты для миграции с помощью dunit, dbunit-rules и yandex postgresql-embedded