grails - 在域类中使用“布尔”变量,未创建表
问题描述
我想在带有 MySQL 数据库的 Grails 的域类中使用布尔属性。但是,当我运行此应用程序时,不会创建此表,也没有任何错误消息。但是当我删除这个属性时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
}
}
解决方案
我猜你正面临这个问题,因为根据 MySQL 文档read
是保留关键字:
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'
}
}
推荐阅读
- javascript - 将组件注入ng-container?(从文件中加载 ng-template)
- ios - nativescript-vue 应用程序在启动屏幕上崩溃(仅在 iOS 中)
- ruby-on-rails - RSpec 要求我在测试通过之前打印对象
- jsonschema - 验证数组 json 包含几个使用 json 模式的无序对象
- c# - 正则表达式
- lua - 创建混合和最大功能
- r - 如何通过单击 timevis 图表中的项目来创建弹出窗口?
- javascript - 输入字段中的响应文本
- node.js - 护照js,身份验证失败,http 500。没有响应
- c# - Microsoft.Office.Word.Interop 2nd Document 一直以只读方式打开