我有這個奇怪的問題。我有一個Grails應用程序,其中缺少一些數據庫更新日誌文件。因此,數據庫與域類不同步。我在域類中做了一些更改。當我嘗試運行數據庫遷移插件時,它正在創建當前域類和數據庫之間的差異,並嘗試執行所有已執行的sql命令,這些命令會導致執行我想執行的命令時出錯。Grails中的域類和數據庫不同步
是否有解決此問題的方法?
我有這個奇怪的問題。我有一個Grails應用程序,其中缺少一些數據庫更新日誌文件。因此,數據庫與域類不同步。我在域類中做了一些更改。當我嘗試運行數據庫遷移插件時,它正在創建當前域類和數據庫之間的差異,並嘗試執行所有已執行的sql命令,這些命令會導致執行我想執行的命令時出錯。Grails中的域類和數據庫不同步
是否有解決此問題的方法?
如果我正確理解您的問題,您可以使用dbm-generate-changelog
重新創建所有丟失的更新日誌。這將根據當前數據模型創建更新日誌。然後,您可以使用dbm-changelog-sync
將這些更改日誌標記爲EXECUTED(將填充DATABASECHANGELOG表)。一旦DATABASECHANGELOG表與當前數據模型同步,您可以使用dbm-gorm-diff
以確保您不會錯過任何其他數據模型更改。
注:我的回答假設你使用Grails 2.x和數據庫遷移插件1.4.x的,但我相信這個過程是與數據庫遷移插件2.x或Grails的3.X相似3.x的