我正在从四年级升到六年级。这迫使我升级了很多东西,比如spring、h2、mySql连接器等。。
现在我有这个问题:在运行时,使用MySQL都很好。但是在测试中,我得到:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flyway' defined in com.bluerbn.wallet.infra.SpringTestConfiguration: Invocation of init method failed; nested exception is org.flywaydb.core.internal.command.DbMigrate$FlywayMigrateException:
Migration V9__fixIndex.sql failed
------------------------------------------------
SQL State : 42S22
Error Code : 42122
Message : Column "INDEX" not found; SQL statement:
ALTER TABLE table1 DROP INDEX ACC_INDEX [42122-200]
Location : db/migration/V9__fixIndex.sql (/Users/.../resources/db/migration/V9__fixIndex.sql)
Line : 1
Statement : ALTER TABLE table1 DROP INDEX ACC_INDEX
这是一个在升级之前运行良好的旧脚本。
版本:
有什么想法吗?
H2自1.4.200版以来,仅在MySQL兼容模式下才允许MySQL样式的ALTER tableName DROP indexName。在1.4.199和旧版本中,所有模式都错误地接受了此无效(对于H2)命令。
您需要附加;MODE=MySQL
到H2的JDBC URL。