如何重置默认的Play数据库?

时间:2013-07-14 20:37:15

标签: playframework

我在Play 2应用程序中使用默认数据库:

db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play"

我认为这个数据库应该是内存中的,并且数据会在应用程序的运行之间消失,但​​是即使在我关闭应用程序之后,数据似乎仍然存在。

数据保存在哪里以及如何清理数据库?

2 个答案:

答案 0 :(得分:1)

为了回应您的评论,控制台中的Ctrl-D不会终止Play应用程序;它在后台运行应用程序并使控制台再次可用(这就是关闭控制台没有终止应用程序的原因)。我不确定非Linux操作系统,但在Linux中,您需要在控制台中使用ctrl-C或在另一个控制台中使用kill <pid>来终止Play应用程序。

答案 1 :(得分:0)

根据h2网站:

  

默认情况下,关闭与数据库的最后一个连接会关闭数据库。对于内存数据库,这意味着内容丢失。要使数据库保持打开状态,请将DB_CLOSE_DELAY = -1添加到数据库URL。要在虚拟机处于活动状态时保留内存数据库的内容,请使用jdbc:h2:mem:test; DB_CLOSE_DELAY = -1。

这可能与您的数据库有多个连接。