如何告诉Liquibase忽略db.changelog * .xml?

问题描述 投票:0回答:1

如果在DEV环境中创建数据库,我想liquibase创建一组单元测试功能。

我知道我可以为每个单元测试函数创建一个带有“context”属性的“changeset”标签,但是如果可能的话我想避免这种情况。

理想的是将“context”与“includeAll”标记一起使用,例如:

<includeAll path="./sql/UnitTest/" context="dev" />

但遗憾的是,这是不受支持的。

或者因为我有几个更改日志:

db.changelog.xml
   include db.changelog-tables.xml
   include db.changelog-functions.xml
   ...
   include db.changelog-unit_test_functions.xml

如果我可以告诉LiquiBase基于命令行参数跳过运行“db.changelog-unit_test_functions.xml”,这也是可行的。

但是,“include”元素中不允许使用“context”属性。

<include file="./sql/db.changelog-unit-test.xml" context="dev" />

我尝试将“前置条件”测试附加到db.changelog-unit-test.xml但是无法执行所有db.changelogs。

有没有人对如何避免编写粒度db.changelog-unit-test.xml有任何聪明的想法?

谢谢!

unit-testing liquibase
1个回答
0
投票

includeincludeAll中的上下文工作从3.5注意你文件中的xsd定义 - 你需要在那里租用http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd,否则你的文件即使在运行版本较新时也不会验证3.5

© www.soinside.com 2019 - 2024. All rights reserved.