目录

一.前言

1.Flyway简介

2.flyway依赖包

3.使用flyway的好处

二.问题分析

1.Flyway 报错:Detected applied migration not resolved locally:2

1.1问题分析:

1.2解决方法

2.执行脚本错误

2.1问题分析

2.2问题解决

三. 总结


一.前言

在实际开发中使用到Flyway ,对于flyway我们做一下简单介绍

1.Flyway简介

 Flyway 是一款开源的数据库版本管理工具。它可以很方便的在命令行中使用,或者在Java应用程序中引入,用于管理我们的数据库版本。

  在项目或产品中,很难一开始就把业务理清楚,把数据库表设计好,因此数据表也会在迭代周期不断迭代。在Java应用程序中使用Flyway,能快速有效地用于迭代数据库表结构,并保证部署到测试环境或生产环境时,数据表都是保持一致的。

具体介绍请看Flyway官方文档

https://flywaydb.org/documentation/

2.flyway依赖包

<dependency><groupId>org.flywaydb</groupId><artifactId>flyway-core</artifactId><version>7.9.2</version>
</dependency>

3.使用flyway的好处

在多人开发的项目中,我们都习惯了使用SVN或者Git来对代码做版本控制,主要的目的就是为了解决多人开发代码冲突和版本回退的问题。

其实,数据库的变更也需要版本控制,在日常开发中,我们经常会遇到下面的问题:

自己写的SQL忘了在所有环境执行。
别人写的SQL我们不能确定是否都在所有环境执行过了。
有人修改了已经执行过的SQL,期望再次执行。
需要新增环境做数据迁移。
每次发版需要手动控制先发DB版本,再发布应用版本。
其它场景。
有了flyway,这些问题都能得到很好的解决。

二.问题分析

1.Flyway 报错:Detected applied migration not resolved locally:2

在使用Flyway作系统管理的时候我的程序报的此类错误

1.1问题分析:

报错内容:检测到应用迁移未在本地解决

在网上找了这个问题的原因是:

1.由于导入数据库包含flyway_schema_history表,所以本地运行时出现版本不一致报错,

2.迁移了一个版本为2的sql,然后我把它删了,它再第二次运行的时候,找不到我之前迁移过的V2__orange_cms这个文件。

1.2解决方法

特别注意:一定是在测试环境和本地环境

1.mvn flyway:clean,这一步会清空现有数据。

2.确保配置文件中,开启flyway。

3.启动项目,完成flyway_schema_history表初始化,启动完成后备份flyway_schema_history表

4.导入数据,此时flyway_schema_history表会被更新为导入数据的版本

5.导入成功后,删除flyway_schema_history表,将备份的flyway_schema_history表替换

6.再次启动应用,Success!

2.执行脚本错误

2.1问题分析

报错信息大致意思:在我项目配置文件开启Flyway时,会爆:执行sql异常,找不到"xxx"表.

这个可是困扰我很久的一个问题, 看我的程序和配置都没有错,就是不知道错在哪里.

错误原因:由于我们的flyway是基于数据库mysql5.7的版本但是我的本机数据库版本是mysql5.5的所以开启Flyway配置进行数据库初始化总是报错"找不到xxx表"

2.2问题解决

升级我们的数据库版本,大于等于我们的开发数据库版本,由于升级数据库的道路有点曲折建议大家借鉴:比较详细

https://blog.csdn.net/m0_49284219/article/details/121972531

数据库升级完成后开启我们的Flyway配置

启动程序来看看我们的项目来测试一下能否启动成功

三. 总结

1.强调:对于我们的Flyway要根据我们的实际情况进行我们的库表删除,不要忙目删除我们的flyway_schema_history表

2.flyway是对数据库版本管理比较优秀的一个工具,对数据库表的版本控制比较强.

3.对于上述有和我一样问题的同学希望能帮到大家,对于解决此类问题欢迎大家留言讨论,也希望大家对于Flyway其他问题也可以进行讨论

Flyway 报错:Detected applied migration not resolved locally:2和执行脚本错误相关推荐

  1. SpringBoot FlyWay报错:Detected applied migration not resolved locally:

    项目是SpringBoot,使用FlyWay做数据库版本控制. 需要连接本地数据库,在新建本地数据库,导入数据后,启动工程,发现如下报错: 这是因为导入数据库包含flyway_schema_histo ...

  2. flywa报错Detected resolved migration not applied to database: 20221103.10000

    详情错误日志 . ____ _ __ _ _/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ ...

  3. 部署项目报错 清一色的cannot be resolved to a type

    今天下载一个项目包部署到tomcat时,错误框里清一色的cannot be resolved to a type: 记得之前遇到这种问题的时候一般是build path中jar包的问题,或者是jdk版 ...

  4. VS CODE Python 包路径报错解决方案could not be resolved

    问题:程序可以正常运行,但是提示错误,找不到包的路径. 解决办法: 1.点击左下脚进入设置,搜索栏输入:python.Analysis:Extra Paths 2.这时默认选择的是[用户],要选择[远 ...

  5. 支付宝运行报错页面找不到resolved to pages/login/login not found

    复现bug 初把uniapp项目运行在支付宝开发者工具时,我的login页面一直在pages/index/login下且在其他开发者工具上面运行正常,但是在支付宝开发者工具上面一直报错. 报错截图 目 ...

  6. eclipse使用@WebServlet报错:WebServlet cannot be resolved to a type

    出现此报错的原因是因为没有配置好服务器.首先检查创建项目时是否加载了服务器. 如图,我这里没有加载服务器,创建的动态网络工程也就无法导入相关的包,从而使用@WebServlet. 解决方法: 配置服务 ...

  7. sonar 报错日志分析(根据日志跟踪源码执行)

    sonar 分析之后,scanner 上传分析文件报错: [ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-mave ...

  8. python打包exe报错编码问题_python打包成exe,但执行exe报错,求解。

    1.pycharm     pycharm-professional-2018.1.4.exe    已安装 64位的. 2.python       python-3.7.0.exe   已安装32 ...

  9. Flyway报错源码分析——Validate failed: Migrations have failed validation

    一.异常信息 今天早上启动项目,突然出现了如下异常,百度了一下没有合适的解决方案,决定从源码入手,看看能不能解决. org.springframework.beans.factory.BeanCrea ...

最新文章

  1. 如何解决Ubuntu 12.04(64位)系统在virtualbox环境下无法开机自动挂载共享目录的问题
  2. centos 6.9 NTP基准时间服务器配置
  3. Nginx报错:nginx: [emerg] CreateFile() nginx.conf“ failed (3: The system cannot find the path specified
  4. [错误记录] --- rocketmq批量消费设置参数的问题
  5. 漫步凸分析八——回收锥与无界
  6. 如何用c语言编写工程文件夹,利用makefile实现c语言项目编译
  7. java程序设计 第三版_清华大学出版社-图书详情-《Java语言程序设计(第3版)》...
  8. 用什么工具可以制作gif?分享一款在线制作gif动画工具
  9. MUSIC算法---空间谱估计
  10. whale 帷幄:数字化营销运营 全渠道数字化精益营销管理平台
  11. 从网上自学老男孩python全栈的笔记-经历
  12. ua解析接口_在线免费解析抖音短视频(维护中)
  13. 乐高机器人骨奥_乐高机器人这个大坑,为啥大家都拽着孩子往里跳?
  14. 电脑win7系统开机密码忘记
  15. 电子书 UNIX环境高级编程(第3版).pdf
  16. 查找算法之斐波那契查找算法
  17. 根据UI设计图得到android所需要的dp
  18. 网络密码破解的十个方法
  19. 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。
  20. 2021年杭州值得去的46家规模互联网大厂公司全名简称

热门文章

  1. RNN中的Teacher Forcing
  2. 做项目的一些心得体会
  3. 华为p40pro手机计算机在哪里,一文看懂华为P40/P40 Pro差别在哪
  4. 阿里云ARM服务器通用型g6r实例CPU性能参数详解
  5. T530-I7重装win10
  6. 【Java 入门】(六)表设计
  7. 你的windows许可证即将过期
  8. vue keep-alive用法
  9. 如何让latex中插入没有标号的footnote
  10. 打印机与计算机接口大多数,打印机接口-西北师范大学.PPT