我正在嘗試使用Liquibase來管理設備的後端SQLite數據庫。這個想法是,在安裝時,應用程序可以生成回滾腳本,如果應用程序被卸載並替換爲早期版本,則可以使用該腳本。如何在Liquibase中每天創建多個標籤?
出現的問題是,運行tagDatabase
變更集將覆蓋當天早些時候完成的所有標記。檢查documentation揭示了標記操作運行如下面的示例SQL:
UPDATE DATABASECHANGELOG SET TAG = 'version_1.3' WHERE DATEEXECUTED = (SELECT MAX(DATEEXECUTED) FROM (SELECT DATEEXECUTED FROM DATABASECHANGELOG) AS X);
那麼,有沒有Liquibase的一天做多個標籤的範圍內的方法嗎?還是我需要編寫自己的SQL來更改DATABASECHANGELOG
表?我寧願不這樣做,因爲它可能會打破未來版本的Liquibase。
我沒有明白你的意思,「出現的問題是運行tagDatabase變更集將覆蓋當天早些時候完成的任何標籤。」它只是標記數據庫中最後一次執行的變更集,其中包含您指定的標記,您覆蓋的問題是什麼? – dbf
我的問題是,在覆蓋現有標籤時,不再可能針對它們生成回滾。 –