Java h2数据库唯一索引名的解决方法

Java h2数据库唯一索引名的解决方法,java,mysql,indexing,h2,unique-constraint,Java,Mysql,Indexing,H2,Unique Constraint,我有一个java应用程序,它使用Liquibase进行迁移,到目前为止,它使用MySQL运行测试用例 我想用h2数据库运行测试用例。为此,我在JDBC配置中做了必要的更改。但是当我运行mvn测试时,我得到以下错误: 索引“idx\U工作流\U id”已存在;SQL语句: 调试时,我发现两个表有一个同名的索引:idx\u workflow\u id,h2数据库有一些限制,即在数据库中有唯一的索引名 现在的问题是,数据库结构已经存在于staging和prod中,更改索引名不是一个选项 是否有任何方法

我有一个java应用程序,它使用Liquibase进行迁移,到目前为止,它使用MySQL运行测试用例

我想用h2数据库运行测试用例。为此,我在JDBC配置中做了必要的更改。但是当我运行
mvn测试时,我得到以下错误:

索引“idx\U工作流\U id”已存在;SQL语句:

调试时,我发现两个表有一个同名的索引:
idx\u workflow\u id
,h2数据库有一些限制,即在数据库中有唯一的索引名

现在的问题是,数据库结构已经存在于staging和prod中,更改索引名不是一个选项

是否有任何方法可以运行h2数据库的迁移,而无需创建索引或忽略它们。或者进行一些配置更改,这将允许在DB中使用相同名称的索引

配置:

database:
    driverClass: org.h2.Driver
    url: "jdbc:h2:mem:my_db;MODE=MySQL;DATABASE_TO_UPPER=false;IGNORECASE=TRUE;DB_CLOSE_DELAY=-1"
    maxWaitForConnection: 1s
    minSize: ${MIN_DB_CONNECTIONS:-10}
    maxSize: ${MAX_DB_CONNECTIONS:-100}
    defaultTransactionIsolation: READ_COMMITTED
    checkConnectionWhileIdle: false
    checkConnectionOnBorrow: true
    checkConnectionOnConnect: true
    validationQuery: "SELECT 1"
    properties:
      hibernate.dialect: org.hibernate.dialect.H2Dialect
      hibernate.show_sql: false
      hibernate.hbm2ddl.auto: none
      hibernate.session.events.log: false
      hibernate.generate_statistics: true
      org.hibernate.stat: INFO
      charSet: UTF-8