【问题标题】:Introspect in-memory H2 Database内省 H2 内存数据库
【发布时间】: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

【问题讨论】:

  • 如果它可以帮助你,请检查这个旧答案:stackoverflow.com/a/15992638/1066240
  • 我对方法 1 的初始测试没有成功。数据库是空的,并且没有执行进化脚本中提到的表。但是这些表格在应用程序中可用。我会再试一次。
  • @biesior 谢谢,更新 jdbc url 后,我能够连接到数据库。 BTW play 在嵌入模式或混合模式下运行 H2?

标签: h2 playframework-2.3


【解决方案1】:

从您的终端使用activator cmd 运行Play 的控制台,在其中运行h2-browser cmd 以在浏览器中打开控制台,最后使用run cmd 运行您的应用程序(在同一个Play 控制台中)。

确保您在两个地方使用相同的凭据(尤其是 JDBC URL)。

AFAIK 它使用嵌入式模式(因此需要在一个进程中同时启动)

(origin)

【讨论】:

    猜你喜欢
    • 2011-08-11
    • 2016-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-16
    • 2023-03-24
    • 2012-10-06
    • 1970-01-01
    相关资源
    最近更新 更多