我想使用域类在现有表中添加新列,但这没有发生。如果我在application.yml文件中使用create-drop,那么它可以工作,但同时丢失了数据。通过更新grails 3.3.0和SQL Server 2012中的域类属性,我需要保留数据以及添加新列。
打包com.alumni
class Student
{
String studentId
String studentName
String age
static constraints = {
}
}
数据库未使用列地址更新
答案 0 :(得分:0)
尚不清楚您的代码段,但听起来您正在尝试添加
String address
请注意,默认情况下将列设置为NOT NULL
,因此,如果表中存在数据,则它会尝试添加一个非空列,每行上都有空数据,因此该列将无法创建。您还需要允许该列在constraints块中为空
static constraints = {
address(nullable: true)
}
如果添加了该列,则该列应该会成功创建。