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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何告诉Liquibase忽略db.changelog * .xml?相关的知识,希望对你有一定的参考价值。

如果在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有任何聪明的想法?

谢谢!

答案

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

以上是关于如何告诉Liquibase忽略db.changelog * .xml?的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate 不使用 Liquibase 中定义的序列

Liquibase CSV loadData 失败,带引号的字符串包含逗号

如何告诉 cppcheck 忽略某些错误?

如何告诉 Prettier 忽略 package.json 文件?

如何告诉 git 忽略个别行,即特定代码行的 gitignore [重复]

如何告诉 Dojo 构建忽略“缺失”模板