變化的Grails GORM格式我有一個已經運行了一段時間一個Grails應用程序。但現在我想改變格姆格式,我不知道是否有簡單的方法可以做到這一點,我並不需要刪除現有的表,只改變我的應用程序會做即方式。不放棄現有的表
具體而言,我曾經有被映射在DB到VARBINARY一個HashSet的字段。該用戶表中有一些現有的行。
public class User{
//irrelevant attributes omitted
HashSet<String> friends=new HashSet<>();
static mapping={
friends sqlType: 'VARBINARY(10000)'
}
}
現在我已經改變了場friends
到HashMap<String,Integer>
。
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
我首先懷疑的Grails保持舊的轉換規則轉換的HashSet到VARBINARY並沒有更新:現在雖然我還映射領域爲varchar,Grails的每一次我保存用戶對象拋出異常。所以我試圖改變從varbinary到blob和文本的映射,但都沒有奏效。
,如果有,我記住這列VARBINARY在DB,同時讓Grails的知道屬性現在在HashMap和它應該產生新的ruls轉換的方法,我想知道。
感謝您的寶貴意見!
編輯:林使用Grails 2.4.4
看看數據庫遷移插件。它會照顧模式更改。 https://grails.org/plugin/database-migration –
@Sascha似乎很有幫助:P我會嘗試一下。謝謝!! – OrlandoL