0
我有最初为PostreSQL定义的liquibase架构。现在,我必须修改模式文件以支持Oracle。我有一个变更集,它有一个<sql>
标记。它有一个查询访问pg_catalog
表以设置序列的值。但是,这对Oracle不起作用。如果我将其删除,Liquibase会抱怨check-sum验证失败。它抱怨,即使我有一个空的<sql>
标签或其中指定的其他查询。在这个变更集中,我有很多其他的create-table语句,所以我不能只从dbms属性中删除oracle。有没有什么办法可以抑制这个SQL运行Oracle?Liquibase:自定义SQL语句
是的,我的模式文件对所有create-table语句(大约69个表格)都有一个变更集,这是遗留代码并且已经在生产中,所以我无法更改它的重构。但clearChecksums会重新计算所有变更集,是吗?如果是这样,我宁愿避免冒这个风险。 – devang 2012-07-16 21:55:00
@gotuskar是的,它会重新计算所有的变更集,但没关系,前提是您只更改了一个变更集。变更集是liquibase用来确保变更集与之前应用的变更集相同的机制。这也是liquibase如何支持“runOnChange”属性(只有在更改后才应用变更集)。我建议在生产数据库的副本上进行测试。 – 2012-07-16 22:14:37
由于我将应用程序移植到Oracle,因此我更改了许多更改集,这就是为什么我阻止使用此选项。 – devang 2012-07-16 22:24:05