DataSource.groovy文件中的dbCreate屬性十分重要,因為它可以用來指定是否自動根據GORM類來創建數據庫表。其可選值為:
create-drop?- 當Grails運行時刪除并重新建立數據庫
create?- 如果數據庫不存在則創建數據庫,存在則不作任何修改
update?- 如果數據庫不存在則創建數據庫,存在則進行修改
開發環境(development)下dbCreate屬性默認設置為create-drop:
dataSource?{
dbCreate?=?"create-drop"?//?one?of?'create',?'create-drop','update'
}這樣在Grails應用程序啟動的時候會刪除掉原來的數據庫并重新建立,在production環境中通常需要修改該值。
今天生產出現了問題,問題原因竟是生產數據加了一個新的字段,理由是我們最近有些需求變更,新加了一個字段,在前臺部署到QA 系統的時候,數據庫連接到生產了,登錄發現有問題,立馬shutdow,后來在第二天的時候,客戶用的時候,發現有些功用不了報錯,今天下午投訴來的,找到原因是QA 系統有個新增的字段update 到生產了,導致不能用,后來刪除了這個字段,系統終于可以用了,嚇了一條。歸根到底還是自己不小心,后來想想在數據源配置的時候dbCreate=update 了,今天對于這個字段的理解深刻透了。挺危險的,所以對于發布的時候要特別小心修改數據庫的配置,否則很容易出現問題,今天血的教訓,幸好解決了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。