Grails:如何更改域类

时间:2017-06-18 21:44:27

标签: grails scaffolding

我有一个非常基本的应用程序,使用Grails只有一个类。

class House {
    Float price
    String street

    static constraints = {
    }
}

我想添加名为" favorite"的布尔属性。所以我添加它:

class House {
    Float price
    String street
    Boolean favorite

    static constraints = {
    }
}

但是当我进入http://localhost:8080/house/index时,我收到了这个错误:

错误500:内部服务器错误

URI:/ house / index类:org.h2.jdbc.JdbcSQLException

消息:null

引起:Tabla" HOUSE"没有encontrada表" HOUSE"未找到; SQL语句:从house this_ [42102-194]

中选择count(*)为y0_

grails-app / controllers / inmo / HouseController.groovy

第13行
def index(Integer max) {
    params.max = Math.min(max ?: 10, 100)
    respond House.list(params), model:[houseCount:House.count()]
}

所以我尝试执行生成控制器生成所有(有或没有 -force ,因为我不重要数据库中的数据)但我仍然得到错误。

修改域名后我做了什么?

2 个答案:

答案 0 :(得分:1)

听起来您正在尝试在应用程序以开发模式运行时更新域类。可以在不重新启动服务器的情况下进行许多更改,但是某些更改(例如Domain对象的结构)需要重新启动服务器才能生效,并且通常会抛出错误。但是,如果不知道你收到了什么错误,这只是猜测。

答案 1 :(得分:0)

我建议跑;

grails clean

以清理缓存。