首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用DML和DDL脚本,天桥模式迁移失败

使用DML和DDL脚本,天桥模式迁移失败
EN

Stack Overflow用户
提问于 2017-01-18 18:08:46
回答 1查看 2.2K关注 0票数 0

我正在使用Spring 1.4.1.与天桥。

执行架构迁移时,Flyway无法执行DML脚本。

“我的资源”文件夹的天桥结构如下:

在一个空数据库上执行天桥操作,效果很好。它为数据库创建架构和数据。

但是,一旦执行模式迁移(即DML和DDL脚本中的更改),Flyway将显示以下错误消息:

代码语言:javascript
复制
Caused by: org.flywaydb.core.api.FlywayException: Schema `testDB` contains a failed migration to version 1.02 !
    at org.flywaydb.core.internal.command.DbMigrate$2.doInTransaction(DbMigrate.java:196) ~[flyway-core-3.2.1.jar:na]
    at org.flywaydb.core.internal.command.DbMigrate$2.doInTransaction(DbMigrate.java:156) ~[flyway-core-3.2.1.jar:na]
    at org.flywaydb.core.internal.util.jdbc.TransactionTemplate.execute(TransactionTemplate.java:72) ~[flyway-core-3.2.1.jar:na]
    at org.flywaydb.core.internal.command.DbMigrate.migrate(DbMigrate.java:156) ~[flyway-core-3.2.1.jar:na]
    at org.flywaydb.core.Flyway$1.execute(Flyway.java:1059) ~[flyway-core-3.2.1.jar:na]
    at org.flywaydb.core.Flyway$1.execute(Flyway.java:1006) ~[flyway-core-3.2.1.jar:na]
    at org.flywaydb.core.Flyway.execute(Flyway.java:1418) ~[flyway-core-3.2.1.jar:na]
    at org.flywaydb.core.Flyway.migrate(Flyway.java:1006) ~[flyway-core-3.2.1.jar:na]
    at org.springframework.boot.autoconfigure.flyway.FlywayMigrationInitializer.afterPropertiesSet(FlywayMigrationInitializer.java:66) ~[spring-boot-autoconfigure-1.4.1.RELEASE.jar:1.4.1.RELEASE]

我的application-dev.properties看起来是这样的:

代码语言:javascript
复制
flyway.enabled=true
flyway.url: jdbc:mysql://localhost:3306
flyway.user: usertest
flyway.password: testtest
flyway.schemas=testDB
flyway.baseline-on-migrate=true
flyway.locations:classpath:/db/migration/dev,/db/data

# Naming strategy
spring.jpa.hibernate.naming.strategy= org.hibernate.cfg.ImprovedNamingStrategy

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql = true
logging.level.org.hibernate.SQL=debug
spring.jpa.hibernate.format_sql=true
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE

spring.jpa.generate-ddl = false
spring.jpa.hibernate.ddl-auto =none
EN

回答 1

Stack Overflow用户

发布于 2018-03-07 14:06:24

这个异常仅仅意味着在执行迁移时由flyway标识的一组“新”迁移中,一个或多个脚本会导致错误。

Flyway创建一个表,它跟踪已执行的迁移脚本以及它们的校验和,您可以验证该表,它应该在执行结果列中包含一个或多个"0“。

当您处于这种情况下(从本地到开发阶段),您仍然可以简单地删除迁移表中不成功的行,更正被定罪的脚本,最后,再次启动天桥迁移。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41726493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档