(我已经看过H2 database In memory - Init schema via Spring/Hibernate个问题,这里不适用.)
我想知道H2中是否有一个设置,允许我在连接到它时自动创建一个模式.如果有帮助的话,我只对内存 case 感兴趣.
H2在URL末尾支持各种分号分隔的修饰符,但我没有找到一个用于自动创建模式的修饰符.有这样的特点吗?
(我已经看过H2 database In memory - Init schema via Spring/Hibernate个问题,这里不适用.)
我想知道H2中是否有一个设置,允许我在连接到它时自动创建一个模式.如果有帮助的话,我只对内存 case 感兴趣.
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
中;
之前的反斜杠是必需的.