Grails:文本而不是 varchar
Grails: text instead of varchar
我的域 class 中的字符串字段需要 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 服务器版本 5.0.95,Grails 2.4.3。
我很困惑,希望得到任何帮助..
您需要在 mapping
块而不是 constraints
中定义列的类型。假设 属性 的名称是 longString
,添加这个
static mapping = {
longString type: 'text'
}
这将创建一个 MySQL 类型为 longtext
的列。
要验证这是否有效,请尝试删除您的数据库,创建一个新的(空)数据库,重新启动应用程序并检查创建的列的类型。请参阅 this example 以供参考。
我的域 class 中的字符串字段需要 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 服务器版本 5.0.95,Grails 2.4.3。 我很困惑,希望得到任何帮助..
您需要在 mapping
块而不是 constraints
中定义列的类型。假设 属性 的名称是 longString
,添加这个
static mapping = {
longString type: 'text'
}
这将创建一个 MySQL 类型为 longtext
的列。
要验证这是否有效,请尝试删除您的数据库,创建一个新的(空)数据库,重新启动应用程序并检查创建的列的类型。请参阅 this example 以供参考。