2014-10-06 44 views
1

在grails中,我在模型中声明了一个变量。 String dnaSequence在grails中增加VARCHAR的限制

我想保存一个巨大的长string到它,我得到以下错误消息说它太大。

我该如何将限制增加到900,000以上?

我该如何做到这一点?

注意:给出的解决方案应该是我可以用Grails实现的。

我的领域类

class Animal { 


    String dnaSequence 

    static constraints = { 

    } 
} 

回答

3

一个VARCHAR的最大尺寸是在数据库中设置的是,Grails没有在这个问题上有发言权。你可以做的是告诉Grails你需要什么,并且它会生成使用clob而不是字符串的DDL。

将列的映射更改为使用type: "text",同时在约束中添加所需的maxSize。 Grails会从中发现它应该将列数据类型设置为clob。

(通常clob字段将容纳4GB,尽管有些数据库允许改变这种情况。)

+0

感谢您的回答。但似乎你不能为这个数据类型的列设置默认值。不是吗? – 2017-09-06 07:22:04

1

你可能有兴趣在GORM的type mapping。具体而言,您可以添加这个改变dnaSequence字段的类型:

static mapping = { 
    dnaSequence type: "text" 
}