内省 H2 内存数据库
Posted
技术标签:
【中文标题】内省 H2 内存数据库【英文标题】:Introspect in-memory H2 Database 【发布时间】:2015-02-25 14:57:30 【问题描述】:My Play 应用在开发或测试模式下运行时使用 H2 内存数据库。当应用程序在开发模式下运行时,我想访问这个数据库。所以我有以下选择
1) 以嵌入式/混合模式运行数据库。并让play框架将数据库暴露给其他进程。
2) 在 H2 数据库中以服务器模式运行(最不喜欢)。但在这种情况下,框架应该启动数据库服务器守护进程(而不是手动)。
我当前的 application.conf 文件如下所示。
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:dev;MODE=mysql;DB_CLOSE_DELAY=-1;"
db.default.jndiName=dev
【问题讨论】:
如果它可以帮助你,请检查这个旧答案:***.com/a/15992638/1066240 我对方法 1 的初始测试没有成功。数据库是空的,并且没有执行进化脚本中提到的表。但是这些表格在应用程序中可用。我会再试一次。 @biesior 谢谢,更新 jdbc url 后,我能够连接到数据库。 BTW play 在嵌入模式或混合模式下运行 H2? 【参考方案1】:从您的终端使用activator
cmd 运行Play 的控制台,在其中运行h2-browser
cmd 以在浏览器中打开控制台,最后使用run
cmd 运行您的应用程序(在同一个Play 控制台中)。
确保您在两个地方使用相同的凭据(尤其是 JDBC URL)。
AFAIK 它使用嵌入式模式(因此需要在一个进程中同时启动)
(origin)
【讨论】:
以上是关于内省 H2 内存数据库的主要内容,如果未能解决你的问题,请参考以下文章