我有一個用Spring編寫的小項目。對於數據庫遷移和種子,我使用liquibase。用liquibase降級數據庫 - Spring
經過一段時間我有要求將我的數據庫降級到以前的版本。這可能與liquibase有關,你推薦什麼工作流程?我可以通過打包新的war文件並運行一些純sql腳本來實現,但這對我來說不是一個好方法。我只是想用liquibase做到這一點 - 也許有些回退到以前的版本。
預先感謝您。
我有一個用Spring編寫的小項目。對於數據庫遷移和種子,我使用liquibase。用liquibase降級數據庫 - Spring
經過一段時間我有要求將我的數據庫降級到以前的版本。這可能與liquibase有關,你推薦什麼工作流程?我可以通過打包新的war文件並運行一些純sql腳本來實現,但這對我來說不是一個好方法。我只是想用liquibase做到這一點 - 也許有些回退到以前的版本。
預先感謝您。
Liquibase不能簡單地(自動)回滾已存在的更新。只有你可以做的事情 - 編寫額外的變更集,在那裏你將手動描述DB中需要的變更,這將會把結構返回到需要的狀態。
您也可以提前描述rollback actions以便使此過程更加美觀,可以通過每個變更集中的rollback
部分完成。
請記住,數據庫回滾不是一般可行的。例如在v1中,你有一列充滿了數據(爲了使討論更容易:不是空約束且沒有默認值)。在v2中刪除了列A.如何自動執行回滾/降級?
我建議添加另一個遷移,將您的數據庫遷移到狀態v3,看起來與v1完全相似。在此遷移內部,您可以處理所有缺失的數據等。