2014-10-06 67 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" 
}