我正在开发grails项目,我创建了一个域并使用命令生成views
和controller
。生成它之后,它可以正常工作但之后我想从domain
中删除一个字段。
删除之前
package com.liftoff
class Person {
String studentID
String firstName
String middleName
String lastName
String year
boolean isMarried
static constraints = {
studentID ()
firstName ()
middleName ()
lastName ()
year ()
isMarried ()
}
}
从domain
删除了一个字段后,我需要自动更新所有view
和controller
以及database
。
package com.liftoff
class Person {
String studentID
String firstName
String middleName
String lastName
String year
static constraints = {
studentID ()
firstName ()
middleName ()
lastName ()
year ()
}
}
以任何方式在Grails中执行此操作?
答案 0 :(得分:0)
如评论中所述,一旦您生成了视图/控制器和其他工件,您必须手动维护对Domain类所做的任何更改。
但是,如果您正在进行原型设计并且尚未定制工件,那么您可能会从dynamic scaffolding中受益。不要生成控制器和视图,而是创建控制器,然后将其标记为scaffolded。例如:
class BookController {
static scaffold = true
}
另外,在dbCreate
设置DataSource.groovy
以更新'将使您的数据库中的架构与您对Domain类的更改保持同步。
答案 1 :(得分:0)
作为answer given的更新, Grails v3.0 + 不再支持这种定义动态脚手架的方式。相反,如Grails documentary中所述,将域类分配给scaffold属性(而不是分配psClear
)。
例如:
true