我正在用Java编写代码来构建模式并填充H2内存数据库 为了测试它,我想删除所有数据并尝试从代码重新构建它。在H2数据库中删除元数据(信息模式)
我试图通过命令删除所有数据:
drop all objects
但我仍然有在H2控制台INFORMATION_SCHEMA文件夹对象。 是否有一个很好的和简单的命令从H2丢弃所有的信息?
谢谢。
我正在用Java编写代码来构建模式并填充H2内存数据库 为了测试它,我想删除所有数据并尝试从代码重新构建它。在H2数据库中删除元数据(信息模式)
我试图通过命令删除所有数据:
drop all objects
但我仍然有在H2控制台INFORMATION_SCHEMA文件夹对象。 是否有一个很好的和简单的命令从H2丢弃所有的信息?
谢谢。
对于H2数据库,你不能删除INFORMATION_SCHEMA
和它的表。
这些表都是不正规的表(其中行中的数据库文件仍然存在)。相反,数据是在需要时生成的,当查询它们时。 (有一个例外:有3个表包含CLOB和BLOB数据,但这些表是隐藏的,在未来的H2版本中,这些表可能会消失。)
谢谢,你如何建议在修改数据库后做一个完整的干净启动?有没有比删除文件更简单的方法? – Wasafa1
是的,运行语句“[drop all objects](http://h2database.com/html/grammar.html#drop_all_objects)”。 –
不能从“INFORMATION_SCHEMA”它们是数据库所需元数据的重要组成部分。 –
感谢,所以我怎么能完全恢复数据库? – Wasafa1
'放下所有对象'就能做到这一点。您可以忽略在'INFORMATION_SCHEMA'可见的对象。正如我所说的:他们是数据库的一个必要的(内部)的一部分。不要乱它们 –