Используя unitils/dbMaintain для поддержки базы данных, как исключить запуск сценариев?
Я использую unitils (и его модуль dbMaintain) для поддержания состояния моей локальной базы данных.
В dbMaintain есть возможность исключать / включать скрипты на основе квалификатора. См. http://www.dbmaintain.org/tutorial.html.
В моем проекте исключения / включения не работают при запуске из теста Unitils с UnitilsJUnit4TestClassRunner
,
Моя сценарий иерархии:
unitils/
01_create/ <lots of scripts here>
02_lkups/ <lots of scripts here>
03_#testdata/01_#testdata_master/05_#testdata_master_rate_offer.sql
Мой файл unitils.properties содержит:
updateDataBaseSchema.enabled=true
dbMaintainer.script.locations=unitils
dbMaintainer.qualifiers=testdata
dbMaintainer.excludedQualifiers=testdata
Я ожидаю, что 05_#testdata_master_rate_offer.sql будет исключен. Но это выполняется.
Заранее благодарю за любую помощь.
1 ответ
Ответ от одного из разработчиков unitils на форумах unitils здесь: http://sourceforge.net/projects/unitils/forums/forum/570578/topic/4546980
Квалификаторы - это особенность dbmaintain. Unitils 3.1 все еще содержит свой собственный dbmaintainer, который все еще датируется до разделения dbmaintain. В Unitils 4.0 этот модуль заменен зависимостью от dbmaintain, но эта версия еще не выпущена. Я хотел бы предложить, чтобы до выхода 4.0 вы вызывали dbmaintain прямо из своего кода Java. Надеюсь, это поможет, Филипп