2013-02-20 29 views
0

如何在liquibase maven插件中將特定changeset標記爲應用程序?在文檔中沒有什麼關於命令markNextChangeSetRan似乎什麼都不做。應用了liquibase mark changeset

+0

是您的問題特定於Maven插件,或者是關於liquibase的一般情況嗎?如果前者是您如何從CLI執行任何操作的例子,將有助於澄清。 – 2013-02-21 13:29:20

+0

@ jordan002它與maven相關 – jdevelop 2013-02-21 15:29:38

回答

1

查看當前主分支(當前是3.0.0-beta2-SNAPSHOT)中的sources,似乎根本沒有執行markNextChangeSetRan命令。

所以我想,它根本就不存在。

你可以添加一張票來請求liquibase JIRA中的這個請求,但是似乎沒有用於maven插件的項目(不知道如果liquibase的maven插件是在其他地方跟蹤的)。

抱歉,沒有更好的答案。我只是從github我自己檢查完整的liquibase代碼來實現缺少的功能,所以我想我只是快速檢查這一點。

1

沒有針對此問題「哈克」的解決方案:

  1. 刪除有問題的changeSet XML元素的所有孩子。請記住在liquibase XML文件中將changeSet的id和author參數保留。
  2. 運行mvn liquibase:update
    • 應該說跑了所需的特定changeSet
  3. 恢復您修改的XML文件。
  4. 運行mvn liquibase:update再次
    • 你會得到Validation Failed: 1 change sets check sum新總和。從錯誤中複製新的檢查總和。
  5. 將檢查和手動粘貼到目標數據庫的DATABASECHANGELOG表中的正確記錄中。
+0

在使用Flyway之前,我已經使用了此解決方案的一個變體。 – 2017-09-07 14:07:56