【问题标题】:Flyway H2 Database Creation IssueFlyway H2 数据库创建问题
【发布时间】:2018-03-07 20:59:22
【问题描述】:

我无法根据我的项目的文件结构找出问题所在,它没有遵循正确的文件路径[Pom.xml]

Caused by: org.flywaydb.core.api.FlywayException: Wrong migration name format: V1.2_create_shipwreck.sql(It should look like this: V1.2__Description.sql)
    at org.flywaydb.core.internal.resolver.MigrationInfoHelper.extractVersionAndDescription(MigrationInfoHelper.java:54) ~[flyway-core-5.0.0.jar:na]
    at org.flywaydb.core.internal.resolver.sql.SqlMigrationResolver.scanForMigrations(SqlMigrationResolver.java:133) ~[flyway-core-5.0.0.jar:na]
    at org.flywaydb.core.internal.resolver.sql.SqlMigrationResolver.resolveMigrations(SqlMigrationResolver.java:99) ~[flyway-core-5.0.0.jar:na]
    at org.flywaydb.core.internal.resolver.sql.SqlMigrationResolver.resolveMigrations(SqlMigrationResolver.java:49) ~[flyway-core-5.0.0.jar:na]
    at org.flywaydb.core.internal.resolver.CompositeMigrationResolver.collectMigrations(CompositeMigrationResolver.java:122) ~[flyway-core-5.0.0.jar:na]
    at org.flywaydb.core.internal.resolver.CompositeMigrationResolver.doFindAvailableMigrations(CompositeMigrationResolver.java:104) ~[flyway-core-5.0.0.jar:na]
    at org.flywaydb.core.internal.resolver.CompositeMigrationResolver.resolveMigrations(CompositeMigrationResolver.java:90) ~[flyway-core-5.0.0.jar:na]
    at org.flywaydb.core.internal.resolver.CompositeMigrationResolver.resolveMigrations(CompositeMigrationResolver.java:43) ~[flyway-core-5.0.0.jar:na]
    at org.flywaydb.core.internal.info.MigrationInfoServiceImpl.refresh(MigrationInfoServiceImpl.java:114) ~[flyway-core-5.0.0.jar:na]
    at org.flywaydb.core.internal.command.DbValidate$2.call(DbValidate.java:164) ~[flyway-core-5.0.0.jar:na]
    at org.flywaydb.core.internal.command.DbValidate$2.call(DbValidate.java:157) ~[flyway-core-5.0.0.jar:na]
    at org.flywaydb.core.internal.util.jdbc.TransactionTemplate.execute(TransactionTemplate.java:75) ~[flyway-core-5.0.0.jar:na]
    at org.flywaydb.core.internal.command.DbValidate.validate(DbValidate.java:157) ~[flyway-core-5.0.0.jar:na]
    at org.flywaydb.core.Flyway.doValidate(Flyway.java:1280) ~[flyway-core-5.0.0.jar:na]
    at org.flywaydb.core.Flyway.access$100(Flyway.java:71) ~[flyway-core-5.0.0.jar:na]
    at org.flywaydb.core.Flyway$1.execute(Flyway.java:1176) ~[flyway-core-5.0.0.jar:na]
    at org.flywaydb.core.Flyway$1.execute(Flyway.java:1168) ~[flyway-core-5.0.0.jar:na]
    at org.flywaydb.core.Flyway.execute(Flyway.java:1650) ~[flyway-core-5.0.0.jar:na]
    at org.flywaydb.core.Flyway.migrate(Flyway.java:1168) ~[flyway-core-5.0.0.jar:na]
    at org.springframework.boot.autoconfigure.flyway.FlywayMigrationInitializer.afterPropertiesSet(FlywayMigrationInitializer.java:66) ~[spring-boot-autoconfigure-1.3.1.RELEASE.jar:1.3.1.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
    ... 18 common frames omitted

【问题讨论】:

    标签: java spring spring-boot


    【解决方案1】:

    您的迁移文件缺少一个下划线。将V1.2_create_shipwreck.sql 重命名为V1.2__create_shipwreck.sql,它应该可以工作。请参阅 flywaydb.org 上的 Flyway 命名约定

    【讨论】:

    • 更改了它的命名约定仍然给出相同的错误。 org.springframework.beans.factory.BeanCreationException:在类路径资源[org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]中定义名称为“flywayInitializer”的bean创建错误:调用init方法失败;嵌套异常是 org.flywaydb.core.api.FlywayException:验证失败:检测到已解决的迁移未应用于数据库:1.2
    • 那是不同的错误。您可能应用了 V1.0,V1.1,同时以某种方式应用了 V1.3。现在通过修复下划线,Flyway 找到了 V1.2 版本,之前没有应用,它崩溃了。
    • 那有什么办法解决呢?因为它现在似乎正在看到它
    • 嗯,这超出了这个问题的范围,你应该创建一个新问题。如果你没问题,你可以简单地删除数据库,如果不搜索:如何修复失败的飞行路径迁移。
    猜你喜欢
    • 2013-05-29
    • 2020-12-25
    • 2013-02-05
    • 2011-10-02
    • 2020-02-14
    • 1970-01-01
    • 2021-10-12
    • 2013-01-31
    • 1970-01-01
    相关资源
    最近更新 更多