Использование unitils / dbMaintain для поддержки базы данных, как исключить запуск сценариев? - PullRequest
0 голосов
/ 26 мая 2011

Я использую unitils (и его модуль dbMaintain) для поддержания состояния моей локальной базы данных.

dbMaintain имеет возможность исключать / включать скрипты на основе квалификатора. Смотри http://www.dbmaintain.org/tutorial.html#Qualifier_inclusion__exclusion.

В моем проекте исключения / включения не работают при запуске из теста 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 Ответ

2 голосов
/ 20 июня 2011

Ответ от одного из разработчиков 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 код. Надеюсь, это поможет, Филипп

...