开发者

trouble viewing h2 db used in grails project

开发者 https://www.devze.com 2023-04-06 19:04 出处:网络
I\'m trying to have a look at the tables generated开发者_开发知识库 in h2 db used in Grails project, but something\'s amiss.

I'm trying to have a look at the tables generated开发者_开发知识库 in h2 db used in Grails project, but something's amiss.

I connect to the browser console at http://127.0.1.1:8082/ but all that's there to browse is INFORMATION_SCHEMA and Users. How do I get tho the tables used/generated by the app?

Just started building out the app and only few domain classes are in place and I'm trying to get a feel for working h2. Prior to that I've been using PostgreSql in all projects so this is very unnerving for the moment. Thanks in advance


Are you using the right JDBC URL when logging in?

The default in grails is jdbc:h2:mem:devDB.

When an non-existing URL is given, like jdbc:h2:blabla, an empty database is created, with the default INFORMATION_SCHEMA and Users as you described.

Make sure you connect to the URL where your grails application stores its tables. You can find the URL in $GRAILS_PROJECT/config/DataSource.groovy, after the url definition.

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"
    }
  }
}


If you're using 2.0 the web console is enabled by default in dev mode and can be enabled in other environments: http://grails.org/doc/2.0.0.M2/guide/conf.html#databaseConsole

If you're not using 2.0 yet you can install the http://grails.org/plugin/dbconsole plugin or follow the link to my blog post and set it up yourself if you want to customize the url (or if you're using Grails pre-1.3.6 since the plugin has an artificial version restriction to 1.3.6+)


... so in datasource I changed the url to: url = "jdbc:h2:rswDb" (removing the 'mem' part and changing the name of the db). Then 3 db files showed up in the root dir of the project.

Next, in db console set the jdbc url to: jdbc url: jdbc:h2:~/work/web/rsw/rswDb

... and when I hit 'connect' all the tables were there!

Thanks again!

0

精彩评论

暂无评论...
验证码 换一张
取 消