更改GORM数据库列

时间:2012-04-02 20:09:20

标签: grails gorm sqlexception

我有一个ImageController函数,它从form.gsp文件中获取输入数据并将其添加到Profile类中。 Profile类具有byte[] photo字段,并且使用MultiPart HTTP Request transferTo()方法,如果大小为<,则在数据库中复制该文件。 200KB。

我的问题是每次尝试上传时,都会收到一条SQLException,指出输入值对于PHOTO_BINARY(255)列来说太大了。

首先,为什么byte []数组映射到列限制器?要移动它,byte[] photo= new byte[200*1024]会工作吗?

其次,将所述列更改为16777215个字符的中等blob是必要的吗?

2 个答案:

答案 0 :(得分:0)

使用maxSize约束,例如

static constraints = {
   photo maxSize: 16777215
}

答案 1 :(得分:0)

尝试在映射中将列的类型设置为blob。

static mapping = {
   photo type: "binary" // or "blob"
}

希望有所帮助