Размер строки по умолчанию для Postgresql и Grails 3.3.8 составляет 20 символов.

Мои строковые столбцы по умолчанию имеют 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...

Кажется, где-то установлен размер по умолчанию, и я не могу его найти. Спасибо за ваши ответы.


person bbyrd    schedule 17.09.2018    source источник


Ответы (1)


Извиняюсь, нашел проблему в каком-то вставленном коде (в application.groovy)

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

Вот полезная статья: Переопределение `maxSize` по умолчанию в классе домена

person bbyrd    schedule 17.09.2018