DataSource.groovy
文件中的dbCreate
屬性十分重要,因?yàn)樗梢杂脕?lái)指定是否自動(dòng)根據(jù)GORM類來(lái)創(chuàng)建數(shù)據(jù)庫(kù)表。其可選值為:
create-drop
- 當(dāng)Grails運(yùn)行時(shí)刪除并重新建立數(shù)據(jù)庫(kù)
create
- 如果數(shù)據(jù)庫(kù)不存在則創(chuàng)建數(shù)據(jù)庫(kù),存在則不作任何修改
update
- 如果數(shù)據(jù)庫(kù)不存在則創(chuàng)建數(shù)據(jù)庫(kù),存在則進(jìn)行修改
開發(fā)環(huán)境(development)下dbCreate
屬性默認(rèn)設(shè)置為create-drop:
dataSource?{ dbCreate?=?"create-drop"?//?one?of?'create',?'create-drop','update' }
這樣在Grails應(yīng)用程序啟動(dòng)的時(shí)候會(huì)刪除掉原來(lái)的數(shù)據(jù)庫(kù)并重新建立,在production環(huán)境中通常需要修改該值。
今天生產(chǎn)出現(xiàn)了問(wèn)題,問(wèn)題原因竟是生產(chǎn)數(shù)據(jù)加了一個(gè)新的字段,理由是我們最近有些需求變更,新加了一個(gè)字段,在前臺(tái)部署到QA 系統(tǒng)的時(shí)候,數(shù)據(jù)庫(kù)連接到生產(chǎn)了,登錄發(fā)現(xiàn)有問(wèn)題,立馬shutdow,后來(lái)在第二天的時(shí)候,客戶用的時(shí)候,發(fā)現(xiàn)有些功用不了報(bào)錯(cuò),今天下午投訴來(lái)的,找到原因是QA 系統(tǒng)有個(gè)新增的字段update 到生產(chǎn)了,導(dǎo)致不能用,后來(lái)刪除了這個(gè)字段,系統(tǒng)終于可以用了,嚇了一條。歸根到底還是自己不小心,后來(lái)想想在數(shù)據(jù)源配置的時(shí)候dbCreate=update 了,今天對(duì)于這個(gè)字段的理解深刻透了。挺危險(xiǎn)的,所以對(duì)于發(fā)布的時(shí)候要特別小心修改數(shù)據(jù)庫(kù)的配置,否則很容易出現(xiàn)問(wèn)題,今天血的教訓(xùn),幸好解決了。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。