【发布时间】:2019-07-23 23:31:30
【问题描述】:
让我们举个例子: 在给定的 liquibase xml 文件中,我有多个具有不同 ID 的变更集。
changeSet id="1"
changeSet id="2"
changeSet id="3"
changeSet id="4"
liquibase.bat --changeLogFile=..\MasterChangelog.xml --driver==com.microsoft.sqlserver.jdbc.SQLServerDriver --classpath=sqljdbc4-3.0.jar --url="jdbc:sqlserver://;databaseName=MyDB;user=MyUser;password=MyPassword;" --logLevel=INFO update
上述所有变更集都将按预期执行。
现在我的要求是,我应该具有忽略/不应该考虑 id 为“3”的变更集的可行性
原因是,我有不同的数据库,不希望某些特定的变更集不被执行。
我们有什么命令可以完成这项工作吗?
请指教。
【问题讨论】:
-
如果需要忽略更改日志中的 chageset id-“3”,为什么需要它?还是需要根据任何条件跳过?
-
是的 JITHIN。我需要有条件地跳过变更集。我在 liquibase 中发现了一些名为“上下文”的概念。现在我正在尝试调查这是否最适合我的要求。
-
在这种情况下,您可以在变更集中使用前置条件。参考stackoverflow.com/a/57096840/4229716
-
但在我的情况下,先决条件不适合,因为我没有任何条件而不是数据库信息。所以 Context 似乎最适合我。感谢您花时间向我建议不同的可能性
标签: liquibase