Используя 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. Надеюсь, это поможет, Филипп

Другие вопросы по тегам