0

我的字符串列默认为 20 个字符。所有文档都建议默认值为 255。如何在不更改每一列的情况下设置它。我正在使用 Grails 3.3.8 和 Postgresql 9.3。

class DbConnection {
    String name
    String platform

创建 20 个字符列如果我添加一个映射:

static mapping = {
    name sqlType: 'varchar(255)'
    platform sqlType: 'varchar(255)'
    url sqlType: 'varchar(255)'
}

我得到了正确的 255 个字符,但是,grails 验证字符串失败:

Field error in object 'dop_etc.DbConnection' on field 'url': rejected value [localhost:5432/rbc48_fantasy]; codes [dop_etc.DbConnection.url.size.error.dop_etc.DbConnection.url,dop_etc.DbConnection.url.size.error.url,dop_etc.DbConnection.url.size.error.java.lang.String...

似乎在某处设置了默认尺寸,但我似乎找不到它。感谢您的回复。

4

1 回答 1

0

抱歉,在一些粘贴的代码中发现了问题(在 application.groovy 中)

grails.gorm.default.constraints = {
    '*'(nullable: true, size: 1..255)
}

这是有用的文章: Overriding default `maxSize` in domain class

于 2018-09-17T20:40:28.603 回答