2011-01-24 76 views
1

我們使用dbmaintain來幫助自動化我們的Web服務項目中的SQL表維護。我遇到了一個棘手的問題,那就是升級到版本5.5.8的mysql導致語法更改,由於'create_table'命令現在需要'引擎',因此使用'type'來破壞現有腳本。需要修改dbmaintain腳本來處理mysql語法更改

通常,如果沒有dbmaintain,解決這個問題會非常簡單,因爲'引擎'語法可以在老版本的mysql上運行。但是,在dbmaintain的世界中,更改增量腳本是被禁止的。有沒有一種乾淨的,可接受的方式來處理dbmaintain約束下的這個問題?我正在考慮刪除現有的腳本,並將其中的腳本放入正確的語法中 - 事實證明,該腳本與其他文件夾中的腳本幾乎是獨立的,因此它以何種順序運行並不重要。

回答

0

如果您想手動調整此腳本並確保DbMaintain忽略它,則應使用更新後的散列更新DB_MAINTAIN表。最簡單的方法是採用新的散列並更新您的生產CHECKSUM列。您可能還需要玩弄FILE_LAST_MODIFIED_AT列。

您可以從「從零開始」數據庫中運行的DB_MAINTAIN表獲取更新的校驗和。