当前位置: 首页 > 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.yayakq.cn/news/507386/

相关文章:

  • 网站建设后台功能深圳建设工程信息网查询系统
  • 网站后台 英语如何建个人网站视频
  • 正规做兼职的网站电子商务专业简单介绍
  • 各大网站开发语言wordpress自动添加视频播放器
  • 南京网站建设南京广东网页设计网站
  • qq空间网页版aso优化哪家好
  • 经济研究院网站建设方案石家庄门户网站制作
  • 网站建设后需要交费吗免费论坛申请无广告
  • 如何制作一个电脑软件莱芜网站优化排名公司
  • 做车贷的网站邯郸网站制作官网
  • 做图剪片文案网站app接单自助建站和wordpress
  • xyz域名的网站有哪些企业服务包括哪些方面
  • 公司网站需要备案吗流量变现推广平台
  • 用discuz做商城网站p2p网站建设的步骤过程
  • 网站模板 知乎烟台网站建设联系企汇互联专业
  • 成全视频免费观看在线看小说原著叫什么从seo角度谈网站建设
  • 网站建设方案书个人做网站必须会编程吗
  • 自动优化网站建设公司邮箱怎么查
  • 网站建设项义乌外贸网站开发
  • 专业pc网站建设附近推广用哪些软件
  • 无锡网站设计开发大型网站 div
  • 怎么在虚拟主机上建网站网站后台怎么挂广告 怎么做
  • 茌平网站建设道气钻门户网站 页面集成
  • 注册一个网站需要多少钱wordpress系统安装教程
  • 泉州做网站工作室在线教育网站源码
  • 美工做的好的网站python做笔记的网站
  • 网站建设与开发是什么岗位做网站九州科技
  • 昆明市住房和城乡建设局官方网站wordpress 母婴类模板
  • 成品影视app开发制作唐山seo代理商
  • qq刷赞网站推广快速北京h5网页设计