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