Grails H2数据库不会初始化

时间:2015-09-27 04:43:46

标签: grails groovy h2

我花了最近几天才试图让Grails项目的准系统版本运行。在解决了处理Java版本不兼容性和错误IDE的各种问题之后,我可以看到主页的扩展!但最后一个问题令我烦恼。

我的grails 2.4.4项目正在使用H2,我在开发模式下运行应用程序。我收到一堆这样的错误消息:

  

错误| 2015-09-27 00:22:16,096 [localhost-startStop-1]错误   hbm2ddl.SchemaExport - 表" ORDER_DELIVERY"未找到; SQL   声明:alter table order_delivery drop constraint   FK_syi9a9vft4d15lq78cx3e1m38如果存在[42102-176]

我想也许这些错误与此有关: Grails 2.4 and hibernate4 errors with run-app 我可以忽略它们。但是当我得到我的应用程序的dbconsole时,它没有显示任何表格。据说这似乎是这个问题中描述的问题:

Grails throws Table "xxx" not found

但我尝试了使用磁盘空间的已接受解决方案,但尚未解决问题。有任何想法吗?我使用Spring Security和Spring安全休息,虽然禁用它没有帮助。

来自我的 Datasource.groovy

environments {
    development {
        dataSource {
            dbCreate = "create-drop" // one of 'create', 'create-drop', 'update', 'validate', ''
            url = "jdbc:h2:C:/temp/app_data;MVCC=TRUE"
        }
    }
}

我的引导课程。 SecUser和SecRole由s2快速入门脚本生成,我的用户域扩展了SecUser。 User.findAll()命令返回一个空列表

class BootStrap {

    def init = { servletContext ->
        User user = new User(username: "test", password: "test123", 
            email: "test@guy.com", name: "Dakota Roberts", title: "MD", active: true)
        user.save()

        SecRole roleUser = new SecRole(authority: "ROLE_USER")
        roleUser.save()

        new SecUserSecRole(user: user, role: roleUser).save()

        def users = User.findAll()
        for(User chkUser : users) {
            println chkUser.name
        }
    }
    def destroy = {
    }
}

用户域类示例。它扩展了SecUser,它将tablePerHierarchy设置为false:

@Resource(uri="/user")
class User extends SecUser {
    String email
    String name
    String title
    Boolean active
    static belongsTo = [organization : Organization]
    static constraints = {
        email email: true, unique: true, blank: false
        name blank: false
    }
}

0 个答案:

没有答案