我使用unitils (及其dbMaintain模块)来维护本地数据库的状态。
dbMaintain可以根据限定符选择排除/包含脚本。参见http://www.dbmaintain.org/tutorial.html#Qualifier_inclusion__exclusion。
在我的项目中,当使用UnitilsJUnit4TestClassRunner从Unitils测试运行时,排除/包含不起作用。
我的脚本层次结构:
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会被排除在外。但它正在运行。
提前感谢您的帮助。
发布于 2011-06-21 00:24:50
由unitils论坛上的一位unitils开发人员回答:http://sourceforge.net/projects/unitils/forums/forum/570578/topic/4546980
限定符是dbmaintain的一个特性。Unitils 3.1仍然包含它自己的dbmaintainer,这个dbmaintainer仍然可以追溯到dbmaintain拆分之前。Unitils 4.0已经将此模块替换为对dbmaintain的依赖,但此版本尚未发布。我建议,在4.0发布之前,您可以直接从java代码调用dbmaintain。希望这能有所帮助,Filip
https://stackoverflow.com/questions/6143505
复制相似问题