Использовать переменную Boolean в классе домена, таблица не создана - PullRequest
0 голосов
/ 12 сентября 2018

Я хочу использовать логический атрибут в классе домена в Grails с базой данных MySQL.Однако, когда я запускаю это приложение, эта таблица не создается, и нет никаких сообщений об ошибках.Но когда я удаляю этот атрибут read, эта таблица успешно создается.

Класс домена:

class Message {

    Player author
    Player target
    String content
    boolean read

    static constraints = {
        target nullable: false
        author nullable: false
        content blank: false
    }

    static mapping = {
        read defaultValue: false
    }
}

1 Ответ

0 голосов
/ 12 сентября 2018

Я полагаю, вы столкнулись с этой проблемой, потому что read зарезервировано ключевое слово в соответствии с документацией MySQL :

READ(R)

Вы можете изменить имя переменной read на другое или использовать закрытие mapping, чтобы изменить имя столбца на другое, например:

class Message {

    Player author
    Player target
    String content
    boolean read

    static constraints = {
        target nullable: false
        author nullable: false
        content blank: false
    }

    static mapping = {
        read defaultValue: false, column: 'is_read'
    }
}
...