创建域class时是否应该自动生成table?

Should a table be automatically generated when a domain class is created?

我正在学习 this tuturial 并已完成第 5.2 节。该教程指出,如果命令:

$ ./grailsw create-domain-class Vehicle

被使用,那么应该生成一个 table,但是在进入控制台时, http://localhost:8080/dbconsole/ 并且登录没有 table 的迹象。

我尝试编辑 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

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

结果是 table 终于被创建了。 我的错误是使用默认占位符 JDBC URL.

通过控制台登录

当我用 application.yml 中的 url 替换它时,我得到了正确的 table。