2017-08-24 40 views
0

我有一個由mysql數據庫支持的dropwizard應用程序。我正在使用liquibase包裝進行數據庫遷移Liquibase - 如何跳過已執行的變更集

首先,我使用'db dump'命令爲我自動生成migrations.xml文件。

現在我正在重構數據庫,我希望能夠更新表的特定列名和名稱。

我使用的先決條件跳過已經生成的表跳過「createTable」命令

<preConditions onFail="MARK_RAN"> 
      <not> 
       <tableExists tableName="myTable" /> 
      </not> 
     </preConditions> 

我現在該如何跳過主鍵和外鍵約束上的執行力?有沒有在,我可以用它來表示「跳過已經執行的變更?還是我只需要創建一個新的migrations.xml?這將刪除現有的數據更改日誌級別的先決條件?

回答

0

選中此爲前提http://www.liquibase.org/documentation/preconditions.html

你不能告訴liquibase跳過所有被執行的變更集,但你可以排除該文件(你必須將migration.xml保存在其他文件夾中(歸檔ie),因爲有一天你可以從頭開始創建數據庫結構,您將需要該變更集)

這意味着您可以使用您想要執行的變更集創建新的.xml文件。Liquibase不會刪除任何數據,它將只適用於您提供給它的xml文件。

+0

非常感謝,幫助 –

相關問題