我在通过h2-browser
框架项目上的Play
访问mem数据库时遇到了一些麻烦。
使用下面的配置,我认为是正确的(显然不是!)我正在获得一个h2浏览器,但没有表(除了模式之外),即使我已经应用了一些迁移。
我在这里缺少什么?提前谢谢。
CONF / application.conf:
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play"
db.default.user=sa
db.default.password=""
答案 0 :(得分:24)
当您实际使用内存数据库时,您正在访问两个不同的数据库(尽管路径相同)。你有两个解决方案:
play
控制台内) Unix(~
表示您的主目录)
db.default.url="jdbc:h2:tcp://localhost/~/some/path/to/MyPlayDB"
或Windows
db.default.url="jdbc:h2:tcp://localhost/c:/some/path/to/MyPlayDB"
请注意,为了在生产模式下获得最佳性能,值得切换回嵌入模式,但对于开发阶段,解决方案应该足够好(仍然比MySQL示例更快)
答案 1 :(得分:18)
要通过H2 Web Console浏览数据库的内容,请通过相同的 Play控制台启动Web控制台和Play应用程序:
~/Projects/play-app $ activator
[play-app] $ h2-browser
[play-app] $ run
Play-App In-Memory Database
)以便以后再次轻松访问它们:
org.h2.Driver
jdbc:h2:mem:play
sa
<blank>
请注意,上述设置必须与您的实际配置相匹配(db.default.url
等)。