我已經能夠做到回滾只有架構更改標記,但我遇到了我在存儲過程中混不工作的情況。
我正在對Oracle數據庫使用SQL更改日誌。下面是這種情況:回滾到標籤不工作,如果應用到runOnChange標籤變更集
版本1.0.0
我有一個腳本R-1.0.0.sql包含創建一個表,並創建一個存儲過程的腳本proc.sql。 proc變更集被標記爲runOnChange = true。
我很高興與變化,我與標籤標籤1.0.0
數據庫到底DATABASECHANGELOG表顯示:
1 - R-1.0.0.sql執行的
2 - proc.sql- EXECUTED-(標籤)1.0.0
版本2.0.0
我有一個腳本R-2.0.0是重命名列,我也更新proc.sql與新的列名。運行在此之後,DATABASECHANGELOG是:
1 - R-1.0.0.sql執行的
4 - proc.sql-RERAN-(標籤)1.0.0
3 - R-2.0.0.sql執行的
您注意到重新運行PROC腳本有一個新的號碼,但它仍然保持了1.0.0標籤
如果現在我想回滾到標籤1.0.0,ROLLBACK命令不執行任何操作,因爲標籤1.0.0對應於日誌中的最新更改。
這似乎是設計。有沒有不同的方式來組織我的更改,使其工作?
根據此線程,我應該能夠爲存儲過程指定一個不同的更改日誌表。 http://forum.liquibase.org/topic/configurable-databasechangelog-table-name。我仍在努力研究命令行。 –