我最近開始研究一個由一個離開組織的開發者正在開發的分支,他看起來像是把相關的測試環境模式置於一個糟糕的狀態。liquibase可以處理部分更新的模式嗎?
有一個Liquibase更改文件,它使得代碼可以運行所需的一些更改,但看起來像關聯的模式有一些應用的更改。
我儘量不要手動更新任何模式,特別是當不是我個人的開發環境時,所以我希望能夠使現有的(相當複雜的)更改工作。
,我得到的錯誤是這樣的:
嚴重12年12月12日12:15 PM:liquibase:改變設定DB /更新日誌/ linechanges.xml :: 14 ::極限失敗。錯誤:錯誤執行SQL ALTER TABLE限制ADD ID系列:ERROR:關係 「lineitem_limitgroup」 列 「ID」 已經存在 liquibase.exception.DatabaseException:執行SQL ALTER TABLE限制ADD ID序列錯誤:錯誤:列關係的 「身份證」 「limit」已存在 at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:62) at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:104) at liquibase.database.AbstractDatabase.execute (AbstractDatabase.java:1075) at liquibase.database.AbstractDatabase.executeStatements(AbstractDatabase.java:1059) at liquibase.changelog.ChangeSet.execute(ChangeSet.java:317) at liquibase.changelog.visitor.UpdateVisitor.visit (UpdateVisitor.java:27) at liquibase.changelog.Change LogIterator.run(ChangeLogIterator.java:58) 在liquibase.Liquibase.update(Liquibase.java:113) 在org.liquibase.maven.plugins.LiquibaseUpdate.doUpdate(LiquibaseUpdate.java:31) 在org.liquibase。 maven.plugins.AbstractLiquibaseUpdateMojo.performLiquibaseTask(AbstractLiquibaseUpdateMojo.java:24) 在org.liquibase.maven.plugins.AbstractLiquibaseMojo.execute(AbstractLiquibaseMojo.java:302) 在org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager。 java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
請注意,此更改文件包含多個changeSets。當我檢查模式時,它看起來已經應用了一些changeSets的更改,但其他一些沒有應用更改。
那麼,有沒有辦法告訴liquibase(最好通過Maven插件)忽略失敗的changeSets並繼續?
或(不太有用)有沒有辦法告訴liquibase應用一些changeSets而不是其他的?
謝謝!
我完全同意... awesomeeee ... :) – Gyandeep