Access mem or fs database tables using H2 console

2019-03-13 04:15发布

I'm trying to access my application's tables in Play! Framework, but I can't find it using the console. For instance, I have two entity models: Address and Campus.

I can create objects and save normally, but I would like to see the changes in fs or mem DB, but the H2 console doesn't show the tables Address and Campus. I'm using the default settings to log in localhost:9000/@db.

What am I doing wrong?

Thanks in advance.

3条回答
Viruses.
2楼-- · 2019-03-13 04:30

Steps I took to get a filesystem H2 database console working where my app is in c:\play\myapp:

  1. Go to localhost:9000/@db
  2. Choose the Generic H2 Server option in the first box
  3. For the url enter jdbc:h2:file:c:/play/myapp/db/h2/play
  4. Username is sa password is blank
查看更多
Evening l夕情丶
3楼-- · 2019-03-13 04:46

Most likely the problem is the database URL, so your application and the H2 Console are using different databases. I suggest to use a database URL of the form jdbc:h2:~/data/test or (maybe even better) using an absolute path of the form jdbc:h2:/data/test, or when using Windows even with drive letter: jdbc:h2:c:/data/test. See the documentation about where the database files are stored.

查看更多
Summer. ? 凉城
4楼-- · 2019-03-13 04:52

The correct URL for the inmemory database is:

jdbc:h2:mem:name-of-your-play-db
查看更多
登录 后发表回答