zoukankan      html  css  js  c++  java
  • Flyway 学习时遇到的错误

    错误一: No plugin found for prefix 'flyway' in the current project and in the plugin groups 

    找不到Flyway插件 

    解决方法:

      在项目的根目录去运行Flyway命令。例如此项目放在E:workspaceideamonitor中,则需要在此目录下执行命令。

    错误二:没有用来记录执行日志的历史表

    解决方法:

      a. 在pom.xml配置文件中加入,这个参数一般是在数据库第一次运行Flyway的时候加上,用来初始化历史记录表

     <baselineOnMigrate>true</baselineOnMigrate>

      b. 在数据库后台新建一张历史记录表,然后在pom.xml的<configeration>标签中指定配置新建的表作为历史记录表

    1     <schemas>
    2         <schema>schema1</schema>
    3     </schemas>
    4     <table>schema_history</table>

    错误三:No value provided for placeholder expressions 没有为占位符表达式提供值

    解决方法:

      在<configuration>标签中增加如下参数:

                <!--Flyway对特殊占位符不进行替换-->
                        <placeholderReplacement>false</placeholderReplacement>

    错误四: Validate failed: Detected failed migration to version xxx 版本验证错误

    造成此错误的原因一般是因为之前xxx版本的维护不成功,日志表记录了此次操作。再次对此版本执行migrate命令。

    解决方法:

      将数据库日志记录表中的对应版本号的记录删,然后在执行。

    错误四: Validate failed: Detected resolved migration not applied to database

    请注意下面的版本号1.4

    再去看数据库的日志表可以发现,数据库中已经存在version 1.2 和 1.5

    出现此问题的原因就是因为Flyway的版本号是严格按顺序的,如果要执行某个中间版本的操作,默认情况下是不允许的。

    所以需要更改配置。

    解决方法:

      在<configuration>标签中增加如下配置

                        <!--Flyway不严格验证版本顺序-->
                        <outOfOrder>true</outOfOrder>        

    总结

    记录遇到的问题,耐心点。

  • 相关阅读:
    Java学习第十五章 之 Map、可变参数、Collections
    Java第十四章 之 List、Set
    Java学习第十三章 之 常用API
    通过shell终端上传下载文件
    javamail邮件发送
    linux防火墙添加例外端口shell脚本
    MySQL批量更新
    MySQL返回列名
    发现一个有意思的东西
    struts2,action方法自动执行两次
  • 原文地址:https://www.cnblogs.com/chaojizhengui/p/FlywayIssues.html
Copyright © 2011-2022 走看看