以下域模型定义..
class Test {
String a
String b
static mapping = {
version(false)
table("test_table")
a(nullable: false)
b(nullable: true)
}
}
..产生以下MySQL模式..
CREATE TABLE test_table (
id bigint(20) NOT NULL AUTO_INCREMENT,
a varchar(255) NOT NULL,
b varchar(255) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
请注意a
和b
获得相同的MySQL列定义,尽管a
被定义为非可空,b
在GORM映射中可以为空。< / p>
我做错了什么?我正在运行Grails 1.3.6。
答案 0 :(得分:7)
nullable true / false位于static constraints
闭包中,而不是static mapping
。请参阅Grails文档的constraints section。