查看grails项目中使用的h2 db时遇到问题

时间:2011-09-22 01:05:21

标签: grails h2

我正在尝试查看在Grails项目中使用的h2 db中生成的表,但有些不对劲。

我在http://127.0.1.1:8082/连接到浏览器控制台,但是要浏览的所有内容都是INFORMATION_SCHEMA和Users。如何获取应用程序使用/生成的表格?

刚刚开始构建应用程序,只有少数几个域类已经到位,我正在尝试感受工作h2。在此之前,我一直在所有项目中使用PostgreSql,所以这一刻非常令人不安。 提前致谢

3 个答案:

答案 0 :(得分:8)

您是否在登录时使用正确的JDBC URL?

grails中的默认值为jdbc:h2:mem:devDB

如果给出了不存在的网址,例如jdbc:h2:blabla,则会创建一个空数据库,其中包含您所描述的默认INFORMATION_SCHEMAUsers

确保连接到grails应用程序存储其表的URL。您可以在$GRAILS_PROJECT/config/DataSource.groovy定义后的url中找到该网址。

environments {
  development {
    dataSource {
      pooled = false
      logSql = false
      username = "sa"
      password = ""

      dialect = "com.hp.opr.hibernate.dialect.H2Dialect"
      driverClassName = "org.h2.Driver"
      dbCreate = "create-drop"
      url = "jdbc:h2:mem:devDB;DB_CLOSE_DELAY=-1;MVCC=TRUE"
    }
  }
}

答案 1 :(得分:3)

如果您使用的是2.0,默认情况下会在开发模式下启用Web控制台,并且可以在其他环境中启用它:http://grails.org/doc/2.0.0.M2/guide/conf.html#databaseConsole

如果你还没有使用2.0,你可以安装http://grails.org/plugin/dbconsole插件或点击我的博客文章的链接并自行设置,如果你想自定义网址(或者如果你正在使用Grails pre -1.3.6因为插件的人工版本限制为1.3.6 +)

答案 2 :(得分:0)

...所以在数据源中我将url更改为:url =“jdbc:h2:rswDb”(删除'mem'部分并更改db的名称)。然后在项目的根目录中显示了3个db文件。

接下来,在db console中将jdbc url设置为:jdbc url:jdbc:h2:〜/ work / web / rsw / rswDb

...当我点击'连接'时,所有表都在那里!

再次感谢!