(我已经看过 H2 database In memory - Init schema via Spring/Hibernate 问题;这里不适用。)
我想知道 H2 中是否有允许我在连接到它时自动创建架构的设置。如果有帮助,我只对内存中的情况感兴趣。
H2 在 URL 末尾支持各种以分号分隔的修饰符,但我没有找到用于自动创建架构的修饰符。有这样的功能吗?
最佳答案
是的,H2 支持 executing SQL statements when connecting .你可以运行一个脚本,或者只是一个或两个语句:
String url = "jdbc:h2:mem:test;" +
"INIT=CREATE SCHEMA IF NOT EXISTS TEST"
String url = "jdbc:h2:mem:test;" +
"INIT=CREATE SCHEMA IF NOT EXISTS TEST\\;" +
"SET SCHEMA TEST";
String url = "jdbc:h2:mem;" +
"INIT=RUNSCRIPT FROM '~/create.sql'\\;" +
"RUNSCRIPT FROM '~/populate.sql'";
请注意,双反斜杠 (\\
) 仅在 Java 中是必需的。 INIT
中 ;
之前的反斜杠是必需的。
关于java - 我可以让 H2 在内存数据库中自动创建模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5225700/