Grails数据库迁移 - 更改域属性最大大小/长度

时间:2016-01-11 11:56:52

标签: grails gorm database-migration

我有一个领域模型,直到今天已经:

title

但现在,256最大尺寸应更改为dbm-gorm-diff。即使我更改并运行{{1}},在更改集文件中,我也看不到与此域模型相关的任何更改。

DBM是否涵盖此类迁移?如果是这样,为什么我不明白呢?我找到this但是它非常无益......

谢谢!

1 个答案:

答案 0 :(得分:1)

constrait闭包中的

maxSize属性 - 是grails的验证规则。默认情况下,String字段在db中创建一个类型为:varchar(255)的列,因为您可以理解它的最大长度为255的字符列表(即字符串)。 如果你需要更多的字符长度,你应该改变字段的类型为'longtext'(它可能是更小的类型,但我通常使用它)它可以包含2147483647字符。接下来你要添加的内容是changelog.groovy:

changeSet(author: "Alexandr", id: "ID") {
        modifyDataType(tableName: "YOUR_TABLE_NAME", columnName: "title", newDataType: "longtext")
    }

你只需要更改id和tableName。 id应该是唯一的,表名称是您实体的tableName(不是域名)。