当前位置: 首页 > news >正文

嘉兴网站优化百度教育小程序

嘉兴网站优化,百度教育小程序,网站界面排版,为什么网站要改版文章目录 文档背景你好Demo地址Flyway的CPU时刻(工作流程)她在哪Flyway的使用流程官方文档 文档背景 由于维护项目的哥们们技术水平参差不齐,长短不一。故做此篇文章。多点纯爱,这个世界需要纯爱战士! 你好 Flyway是一款开源的数据…

文章目录

  • 文档背景
  • 你好
  • Demo地址
  • Flyway的CPU时刻(工作流程)
  • 她在哪
  • Flyway的使用流程
  • 官方文档

文档背景

由于维护项目的哥们们技术水平参差不齐,长短不一。故做此篇文章。多点纯爱,这个世界需要纯爱战士!

你好

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


Flyway是一款数据库迁移(migration)工具。简单点说,就是在你部署应用的时候,帮你执行数据库脚本的工具。Flyway支持SQL和Java两种类型的脚本,你可以将脚本打包到应用程序中,在应用程序启动时,由Flyway来管理这些脚本的执行,这些脚本被Flyway称之为migration。


再简单的说。SQL这个东西原本要你动,现在让SQL上来自己动。

Demo地址

SpringBoot版:https://gitee.com/yi-yunlong/flyway-springboot.git
SpringMVC版:https://gitee.com/yi-yunlong/flyway_springmvc.git

Flyway的CPU时刻(工作流程)

  1. 项目启动,应用程序完成数据库连接池的建立之后,Flyway自动运行。(给Flyway提供情绪价值)
  2. 初次使用时,Flyway会创建一个flyway_schema_history 表,用于记录sql执行记录。(Flyway会牢记所有纯爱时刻)
  3. Flyway会扫描项目指定路径下(默认是 classpath:db/migration )的所有sql脚本,与 flyway_schema_history
    表脚本记录进行比对。如果数据库记录执行过的脚本记录,与项目中的sql脚本不一致,Flyway会报错并停止项目执行。(Flyway会反思自己哪里做的不对,随时undo撤回到任意纯爱时刻)
  4. 如果校验通过,则根据表中的sql记录最大版本号,忽略所有版本号不大于该版本的脚本。再按照版本号从小到大,逐个执行其余脚本。(假如换了对象,如果看对眼了,也不过是再体验一遍纯爱时刻罢了)

她在哪

添加依赖 (可以去Maven中央仓库搜到对应版本的Maven坐标)

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

添加插件(同样的,逐一版本)

<!--方式三:通过mvn命令执行flyway插件,可执行mvn flyway:clean、mvn flyway:migrate、mvn flyway:info、mvn flyway:validate、mvn flyway:baseline、mvn flyway:repairclean:把整个库所有的表结构清空migrate:把数据库表版本更新到最新,自动检查数据库脚本是否有变化,如果有变化,则执行脚本,更新数据库版本,如果数据库初始状态是空库,则会自动创建flyway_schema_history表,用于存储数据库操作的版本记录,只要数据库脚本有变化,都需要执行此命令。info:打印flyway_schema_history中记录信息validate:指验证当前数据库是否最新版本,或者已经Apply的Migrations是否有变更,Flyway是默认是开启验证的。也就是说已经执行过的sql文件是否被修改过,如果有,执行mvn flyway:validate会输出ERROR错误baseline:Baseline 是指数据库非空状态下使用flyway首先执行的命令,用于创建flyway_schema_history表repair:Repair会修复Metadata表的错误,通常有两种用途:1、移除失败的Migration记录,该问题只是针对不支持DDL事务的数据库。2、重新调整已经应用的Migratons的Checksums值
-->
<plugin><groupId>org.flywaydb</groupId><artifactId>flyway-maven-plugin</artifactId><version>5.2.0</version><configuration><user>root</user><password>root</password><driver>com.mysql.cj.jdbc.Driver</driver><url>jdbc:mysql://127.0.0.1:3306/flyway_demo?useUnicode=true&amp;characterEncoding=utf8&amp;serverTimezone=Hongkong</url></configuration>
</plugin>

Flyway的使用流程

  1. 先将SQL文件存储写在resource/db/migration目录下(这个目录是默认配置)
    在这里插入图片描述
  1. 命名规则
    命名规则要按照,严格的规则去命名。以V开头当天时间 + 点 + 第几个SQL的数组 + 双横杠 + 表名 + SQL类型 + .sql后缀
    类似 V20181023.1__test_person_DDL.sql
    在这里插入图片描述

插件指令详解

  1. migrate
    Migrate是指把数据库Schema迁移到最新版本,是Flyway工作流的核心功能,Flyway在Migrate时会检查Metadata(元数据)表,如果不存在会创建Metadata表,Metadata表主要用于记录版本变更历史以及Checksum之类的

  2. baseline
    Baseline针对已经存在Schema结构的数据库的一种解决方案,即实现在非空数据库中新建Metadata表,并把Migrations应用到该数据库。
    Baseline可以应用到特定的版本,这样在已有表结构的数据库中也可以实现添加Metadata表,从而利用Flyway进行新Migrations的管理了

  3. clean(慎用)
    Clean相对比较容易理解,清除掉对应数据库Schema中所有的对象,包括表结构,视图,存储过程等,clean操作在dev 和
    test阶段很好用,但在生产环境务必禁用

  4. info
    Info用于打印所有Migrations的详细和状态信息,其实也是通过Metadata表和Migrations完成的,Info能够帮助快速定位当前的数据库版本,以及查看执行成功和失败的Migrations。下图很好地示意了Info打印出来的信息

  5. repair repair操作能够修复Metadata表,该操作在Metadata表出现错误时是非常有用的

  6. validate Validate是指验证已经Apply的Migrations是否有变更,Flyway是默认是开启验证的。
    Validate原理是对比Metadata表与本地Migrations的Checksum值,如果值相同则验证通过,否则验证失败,从而可以防止对已经Apply到数据库的本地Migrations的无意修改

  7. undo
    撤销操作,社区版不支持

在这里插入图片描述

官方文档

请参考官方文案: https://documentation.red-gate.com/home

http://www.mmbaike.com/news/79905.html

相关文章:

  • 手机怎么制作网站教程网站seo运营培训机构
  • 建设网站商城百度seo刷排名软件
  • 郑州做网站汉狮企业线上培训课程
  • 郑州做网站的专业公司软文写作公司
  • 南昌建网站的公司百度投放广告收费标准
  • 日韩男女直接做的视频网站百度招聘官网首页
  • 电脑记事本做网站微信公众号怎么做文章推广
  • 临海市网站建设南京网站制作
  • 怎么网站能找人做装修事附近学电脑培训班
  • 网站建设案例怎么样百度竞价排名规则
  • 方案网站seo高级优化技巧
  • 个人网站建设方法和过程兰州网站seo服务
  • 购物商城外贸网站建设太原关键词排名提升
  • 社交网站开发教程做任务赚佣金的平台
  • 编程软件c语言搜索引擎优化的分类
  • 下载网站后怎么做注册一个网站
  • 全面加强政府网站建设域名注册 阿里云
  • 代做原创毕业设计网站竞价排名深度解析
  • 网站开发申请报告各网站收录
  • 苏州新区建网站私人做网站建设
  • asp网站开发基础搜索引擎优化实训
  • 网站里的搜索怎么做的2021最近比较火的营销事件
  • wordpress怎么集成码支付百度关键词优化服务
  • 网站如何做注册类 cpa网站维护需要多长时间
  • 网站名后台修改后 前台不显示网址大全是ie浏览器吗
  • 国外网站设计模板关键词排名是由什么决定的
  • 怎样做网站初中生引流推广效果好的app
  • 做网站流量点击分析的软件南京seo网站管理
  • 怎么用hbuilder做网站百度免费推广登录入口
  • 织梦网站怎么做301官网seo