【问题标题】:Should a table be automatically generated when a domain class is created?是否应该在创建域类时自动生成表?
【发布时间】:2020-02-03 22:32:47
【问题描述】:

我正在处理this tuturial 并达到第 5.2 节。该教程指出,如果命令:

$ ./grailsw create-domain-class Vehicle

被使用,然后应该生成一个表,但是在进入控制台时, http://localhost:8080/dbconsole/ 和登录没有表的迹象。

我尝试编辑application.yml(据我所知,它在 Grails 3 中实现了以前在 dataSource.groovy 中的内容,据我所知)。我的看起来像这样:

environments:
    development:
        dataSource:
            dbCreate: update
            url: jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
    test:
        dataSource:
            dbCreate: update
            url: jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
    production:
        dataSource:
            dbCreate: update
            url: jdbc:h2:./prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE

但是,在重新启动应用程序并添加新的域类后,我仍然没有看到正在创建的表。 我正在使用 Grails 3.3.9 版和 Groovy 2.4.15 版。 表通常是使用 domainClass 自动创建的吗? 根据docs,应该使用这个设置自动创建表......

【问题讨论】:

    标签: grails grails-orm grails-domain-class


    【解决方案1】:

    事实证明,表毕竟是在创建的。 我的错误是使用默认占位符 JDBC URL 通过控制台登录。

    当我用 application.yml 中的 url 替换它时,我看到了正确的表格。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多