我需要将我的Domain类中的String字段的MySQL列类型设置为TEXT或VARCHAR(3000),但我尝试的任何东西似乎都无效 - 它仍然是VARCHAR(255)。我试过了
static mapping = {
longString type: 'text'
}
和
static mapping = {
longString sqlType: 'text'
}
和
static constraints = {
longString (blank: true, nullable: true, maxSize: 3000)
}
和
static constraints = {
longString (blank: true, nullable: true, size: 0..65535)
}
MySQL Server 5.0.95版,Grails 2.4.3。 我完全神秘,并希望得到任何帮助..
答案 0 :(得分:3)
您需要在mapping
块而不是constraints
中定义列的类型。假设该属性的名称为longString
,请添加此
static mapping = {
longString type: 'text'
}
这将创建一个MySQL类型为longtext
的列。
要验证这是否有效,请尝试删除数据库,创建新的(空)数据库,重新启动应用程序并检查创建的列的类型。请参阅this example以供参考。