Мы ищем замену различных домашних и ручных процессов развертывания баз данных жидкой базой. У нас есть десятки баз данных, для которых мы хотели бы использовать жидкость. Многие из баз данных уже содержат сотни объектов.
После экспериментов с жидкой фазой, вот что я придумала, и я хочу увидеть, есть ли у кого-нибудь очевидные недостатки.
Поскольку в некоторых базах данных есть сотни объектов, я разбил databaseChangeLogs по типам объектов. У меня есть основной файл databaseChangeLog, который выглядит так:
Поэтому, когда миграция запускается, она сначала выполняет изменения схемы в _tables.xml, затем запускает в _triggers.xml и т. Д.
_triggers.xml databaseChangeLog выглядит так:
У меня есть один набор изменений для каждого объекта. Чтобы я мог отслеживать изменения во времени в таблице DATABASECHANGELOG, я использую имя объекта в качестве идентификатора набора изменений и нашу проблему JIRA в качестве автора. Таким образом, идентификатор останется неизменным со временем, но разработчики будут обновлять автора каждый раз, когда они меняют объект. DatabaseChangeLogs для хранимых процедур, представлений и т. Д., Которые можно обновлять и повторно запускать с течением времени, следуют этой же форме.
Кто-нибудь видит какие-либо проблемы с этим подходом?
Спасибо за ваше время!