Пара вопросов от нуба из ликбазы - PullRequest
5 голосов
/ 21 октября 2009

Я оцениваю liquibase для проекта, начинающегося сегодня.

Кто-нибудь использовал его для создания процедур, функций, в основном всех вещей plsql?

Если нет, можно ли написать встроенный SQL-код в XML-файлы?

Заранее спасибо.

Ответы [ 3 ]

5 голосов
/ 22 октября 2009

Существует встроенный тег createProcedure в liquibase для управления процедурами. Обычно лучше всего комбинировать теги or с runOnChange, чтобы liquibase обновлял вашу процедуру тогда и только тогда, когда вы обновляете определение. Таким образом, вы можете делать различия между своими XML-файлами журнала изменений и видеть, как изменилась процедура.

Использование тега sqlFile для ссылки на файл для сохраненного процесса также популярно, или, как вы сказали, вы можете использовать тег sql для встроенного пользовательского sql.

2 голосов
/ 17 октября 2010

Я столкнулся с проблемами при попытке использовать тег sql для хранимых процедур, триггеров и функций, но в моем случае это были проблемы с драйвером JDBC MySQL, а не с самой Liquibase. Практика, в которой я остановился, заключается в том, чтобы использовать рефакторинг sqlFile, как предлагает Натан, а затем управлять кодом SP / trigger / function в том же проекте, что и журнал изменений, версионированный в системе исходного кода вместе с ним. Это позволяет вам управлять SP / любым другим кодом, как если бы он был настоящим исходным кодом.

Установка runOnChange = "true" в наборе изменений, содержащем рефакторинг sqlFile, имеет важное значение. Именно этот переключатель (спасибо, Натан) обеспечивает реальный контроль исходного кода процедурной базы данных.

1 голос
/ 21 октября 2009

Хотя я не использовал ликвидазу для хранимых процедур, у меня есть некоторый опыт применения ликибазы для более общих операций.

Можно написать собственный sql, либо встроенный в xml-файл, либо связанный с внешним файлом.

...