(我已经看过了内存中的 H2 数据库 - 通过 Spring/Hibernate 初始化模式 https://stackoverflow.com/questions/1945175/h2-database-in-memory-init-schema-via-spring-hibernate问题;此处不适用。)
我想知道 H2 中是否有一个设置允许我在连接到它时自动创建一个模式。如果有帮助,我只对内存中的情况感兴趣。
H2 支持在 URL 末尾使用各种分号分隔的修饰符,但我没有找到用于自动创建模式的修饰符。有这样的功能吗?
是的,H2 支持连接时执行SQL语句 http://h2database.com/html/features.html#execute_sql_on_connection。您可以运行一个脚本,或者只是一两个语句:
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
是必须的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)