【发布时间】:2013-03-19 10:04:25
【问题描述】:
有没有办法在应用程序启动 H2 数据库之前检查数据库损坏?如果我发现数据已损坏,我想在应用程序启动时从备份 zip 文件运行自动恢复。
我不能通过连接数据库来检查它,因为如果数据库文件在那里,即使它是空的,我仍然可以连接并生成默认表。
我还想为数据库中的每个表创建一个选择语句以确保其正常工作。我没有在 H2 数据库中找到任何内置的 sql 函数来检查数据损坏。
【问题讨论】:
-
也可以考虑检查
DatabaseMetaData。 -
我发现 allTablesAreSelectable() 应该可以检查是否可以查询所有表:)