org.h2.jdbc.JdbcSQLException:模式“myschema”已经存在

Posted

技术标签:

【中文标题】org.h2.jdbc.JdbcSQLException:模式“myschema”已经存在【英文标题】:org.h2.jdbc.JdbcSQLException: Schema "myschema" already exists 【发布时间】:2017-10-03 22:03:31 【问题描述】:

问题是当我执行集成测试时出现异常:

Caused by: org.h2.jdbc.JdbcSQLException: Schema "myschema" already exists; SQL statement:
    CREATE SCHEMA myschema [90078-196]

我有这个 application-test.yml :

debug: true

spring:
  data:
    jpa:
      repositories:
        enabled: true
  jpa:
    database: h2
    generate-ddl: true
    show-sql: true
    hibernate:
      ddl-auto: create-drop
    properties:
      hibernate.hbm2ddl.auto: create-drop
  datasource:
    url: jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=TRUE;DATABASE_TO_UPPER=false;INIT=CREATE SCHEMA IF NOT EXISTS myschema
    username: sa
    password: 
    driver-class-name: org.h2.Driver

我在这里错过了什么?

【问题讨论】:

【参考方案1】:

hbm2ddl 设置为 create-drop 将其更改为 update 将解决您的问题。

【讨论】:

以上是关于org.h2.jdbc.JdbcSQLException:模式“myschema”已经存在的主要内容,如果未能解决你的问题,请参考以下文章