【问题标题】:H2 database - how to init multiple schema (yml)H2 数据库 - 如何初始化多个模式 (yml)
【发布时间】:2019-03-27 02:29:01
【问题描述】:

我的 conf(工作):

    jdbc-url: jdbc:h2:mem:myDb;DB_CLOSE_DELAY=-1;INIT=CREATE SCHEMA IF NOT EXISTS MYSCHEMA_1

我需要初始化多个模式,但我找不到语法。到目前为止,我尝试过:

jdbc-url: jdbc:h2:mem:myDb;DB_CLOSE_DELAY=-1;INIT=CREATE SCHEMA IF NOT EXISTS MYSCHEMA_1, MYSCHEMA_2
jdbc-url: jdbc:h2:mem:myDb;DB_CLOSE_DELAY=-1;INIT=CREATE SCHEMA IF NOT EXISTS MYSCHEMA_1;CREATE SCHEMA IF NOT EXISTS MYSCHEMA_2
jdbc-url: jdbc:h2:mem:myDb;DB_CLOSE_DELAY=-1;INIT=CREATE SCHEMA IF NOT EXISTS MYSCHEMA_1;INIT=CREATE SCHEMA IF NOT EXISTS MYSCHEMA_2

【问题讨论】:

  • 它不在 yml 中,看起来就像我用 ';' 尝试过的。但它不起作用
  • @ochi 它似乎在 yml 中不起作用。所有的例子都是xml或者java,这不是我想要的。
  • 您是否尝试过冒号 (;) 前的双斜线 (\\ )?
  • @ochi 将解决方案作为一个简单的 '\' ... 被 java 示例弄糊涂了,其中双 \\ 是为了逃避第一个 \

标签: java jdbc yaml h2


【解决方案1】:

解决办法是:

jdbc:h2:mem:myDb;DB_CLOSE_DELAY=-1;INIT=CREATE SCHEMA IF NOT EXISTS SCHEMA_1\;CREATE SCHEMA IF NOT EXISTS SCHEMA_2

注意 yml 中的简单 '\'。 java中的双'\\'是为了逃避第一个。

【讨论】:

  • 该文件格式称为YAML,该格式文件使用的文件扩展名是.yaml(如果可能)。那么“yml”是从哪里形成的呢?我希望您没有为您的 .jva 程序运行 8.3 文件系统。
猜你喜欢
  • 2021-10-06
  • 2010-12-29
  • 2012-01-04
  • 2018-03-22
  • 2018-04-18
  • 2018-12-11
  • 1970-01-01
  • 2019-03-08
  • 2020-01-12
相关资源
最近更新 更多