我最近开始在一个分支上工作,该分支由一个离开组织的开发人员开发,看起来他让相关的测试环境模式处于糟糕的状态。
有一个 Liquibase 更改文件,它进行了许多代码运行所必需的更改,但看起来关联的架构已经应用了一些更改。
我尽量不要手动更新任何模式,尤其是在不是我个人开发环境的情况下,所以我希望使现有的(相当复杂的)更改工作。
我得到的错误是这样的:
严重 2012 年 12 月 12 日下午 12:15:liquibase:更改集 db/changelogs/linechanges.xml::14::limit 失败。错误:执行 SQL ALTER TABLE 限制添加 ID 序列时出错:错误:关系“lineitem_limitgroup”的列“id”已经存在 liquibase.exception.DatabaseException:执行 SQL ALTER TABLE 限制添加 ID 序列时出错:错误:关系“的列“id”限制”已经存在于 liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:104) 的 liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:62) 的 liquibase.database.AbstractDatabase.execute(AbstractDatabase.java :1075) 在 liquibase.database.AbstractDatabase.executeStatements(AbstractDatabase.java:1059) 在 liquibase.changelog.ChangeSet.execute(ChangeSet.java:317) 在 liquibase.changelog.visitor.UpdateVisitor.visit(UpdateVisitor.
请注意,此更改文件包含多个更改集。当我检查架构时,看起来某些 changeSet 的更改已应用,但其他一些更改未应用。
那么,有没有办法告诉 liquibase(最好通过 Maven 插件)忽略失败的变更集并继续?
或者(不太有用)有没有办法告诉 liquibase 应用一些 changeSet 而不是其他?
谢谢!!!