我有一个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
,所以我猜即使重新运行应用程序,数据也不会被擦除。
另一方面,如果我断章取义地删除当前项目并运行另一个项目,数据还会保留吗?
抱歉,如果这是一个简单的问题,我只是从圣杯开始。感谢
正如您所看到的,DB_CLOSE_ON_EXIT=FALSE,所以我猜测数据是即使我重新运行应用程序也不会被擦除。
CCD_ 3与数据是否被擦除没有直接关系。看见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
。
我希望这能有所帮助。