1

我有一个 grails 应用程序,我第一次运行并保存了一些数据。现在我想在应用程序之外检查该数据库。我怎样才能做到这一点?

我可能会重新运行我的应用程序并检查它,但我被卡住了,因为我的应用程序停止运行并且从不同的地方抛出空指针异常。因此,我想在应用程序之外检查数据的原因。

这是DataSource.groovy环境的设置:

development {
        dataSource {
            dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', ''
            url = "jdbc:h2:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE"
        }

正如你所看到的DB_CLOSE_ON_EXIT=FALSE,所以我猜即使我重新运行应用程序,数据也不会被删除。

另一方面,如果我从上下文中删除当前项目并运行另一个项目,数据还会保留吗?

抱歉,如果这是一个简单的问题,我只是从 grails 开始。谢谢

4

1 回答 1

0

如您所见,DB_CLOSE_ON_EXIT=FALSE,所以我猜即使我重新运行应用程序,数据也不会被删除。

DB_CLOSE_ON_EXIT与是否删除数据没有直接关系。有关详细信息,请参阅http://www.h2database.com/html/features.html#do_not_close_on_exit 。

使用您显示的设置,当您的 Grails 应用程序终止时,您的数据应该仍然在数据库中(不是因为DB_CLOSE_ON_EXIT)。您可以使用与DataSource.groovy文件中类似的 JDBC url 从任何程序连接到同一个数据库。您要么需要从同一目录运行其他应用程序,要么在 URL 中提供数据库的完全限定路径,例如jdbc:h2:/path/to/devDb.

我希望这会有所帮助。

于 2014-10-09T19:02:22.120 回答