【发布时间】:2017-07-18 04:31:09
【问题描述】:
我正在使用 Flyway test extensions 与 H2 数据库和 MySQL 方言。
很遗憾,@FlywayTest 注解使用 H2 方言执行数据库清理并以错误结束:
org.flywaydb.core.internal.dbsupport.FlywaySqlException:
Unable to drop "PUBLIC"."site"
------------------------------
SQL State : 42S02
Error Code : 42102
Message : Table "site" not found; SQL statement:
DROP TABLE "PUBLIC"."site" CASCADE [42102-193]
at org.flywaydb.core.internal.dbsupport.SchemaObject.drop(SchemaObject.java:82)
at org.flywaydb.core.internal.dbsupport.h2.H2Schema.doClean(H2Schema.java:69)
at org.flywaydb.core.internal.dbsupport.Schema.clean(Schema.java:148)
at org.flywaydb.core.internal.command.DbClean$4.call(DbClean.java:184)
at org.flywaydb.core.internal.command.DbClean$4.call(DbClean.java:181)
at org.flywaydb.core.internal.util.jdbc.TransactionTemplate.exec
但是,当我从控制台手动运行 DROP TABLE PUBLIC.site CASCADE(无引号)时,它会成功结束。
如何在 Flyway 测试扩展中强制使用方言?
【问题讨论】:
标签: mysql spring h2 flyway dialect