Определение идентификаторов hasMany как обнуляемых в Grails 3 - PullRequest
0 голосов
/ 24 октября 2018

У меня есть приложение Grails 2, где один объект домена использует эту строку:

static hasMany = [masters: AssetType, shortforms: AssetType, mezzanines: AssetType, captions: AssetType, artwork: AssetType, ancillary: AssetType]

Результирующая таблица мостов имеет 7 столбцов, и все они обнуляются, а сама таблица заполнена редко, сбольшинство строк просто имеют значения в 2/7 столбцах.

Теперь я работаю над переходом на Grails 3. Версия приложения Grails 3 имеет точно такое же определение класса домена, но в итоговой таблице только AssetType_IDкак обнуляемое.

Я получаю эту ошибку при попытке заполнить эту таблицу некоторыми нулевыми значениями:

Причина: org.h2.jdbc.JdbcSQLException: NULL не разрешено для столбца "AEPARTNER_PACKAGE_ANCILLARY_ID ";Оператор SQL: вставка в значения aepartner_package_asset_type (aepartner_package_artwork_id, asset_type_id) (?,?) [23502-197]

Добавление следующего кода в «ограничения» класса домена не помогло.

ancillary nullable: true

ПРИМЕЧАНИЕ. Я использовал веб-клиент H2 для просмотра данных таблицы и определений таблиц, включая поле IS_NULLABLE.

Как я могу установить для этих столбцов / полей значение Grail 3?

Определения источников данных:

dataSource:
    pooled: true
    jmxExport: true
    driverClassName: org.h2.Driver
    username: sa
    password: ''

environments:
    development:
        dataSource:
            dbCreate: create-drop
            url: jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
            grails.dbconsole.enabled: true

Любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...