簡體   English   中英

使用 liquibase 降級數據庫 - Spring

[英]Downgrade database with liquibase - Spring

我有一個用 Spring 編寫的小項目。 對於數據庫遷移和種子,我使用 liquibase。

一段時間后,我要求將我的數據庫降級到以前的版本。 這可能與 liquibase 有關嗎?您推薦什么工作流程? 我可以通過打包新的 war 文件並運行一些純 sql 腳本來做到這一點,但這對我來說不是一個好方法。 我只想用 liquibase 來做到這一點——也許可以回滾到以前的版本。

先感謝您。

Liquibase 不能簡單地(自動)回滾已經存在的更新。 您唯一可以做的事情 - 編寫額外的變更集,您將在其中手動描述數據庫中所需的更改,這會將結構返回到所需的狀態。

您還可以提前描述回滾操作,以使此過程更加順暢,這可以通過每個變更集中的rollback部分來完成。

請記住,數據庫回滾通常不是可行的。 例如,在 v1 中,您有一列 A 充滿數據(為了使討論更容易:具有非空約束且沒有默認值)。 在 v2 中,您刪除了 A 列。您希望如何自動執行回滾/降級?

我建議添加另一個遷移,將您的數據庫遷移到狀態 v3,它看起來與 v1 完全相似/相似。 在此遷移中,您可以處理所有丟失的數據等

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM