换新工作 框架很新

有些东西没见过 现学一下

从 flyway开始

springboot整合教程

java写迁移脚本

概念

用途:Flayway是一款数据库版本控制管理工具,

支持数据库版本自动升级,Migrations可以写成sql脚本,也可以写在java代码里;

不仅支持Command Line和java api ,

也支持Build构建工具和Spring boot,

也可以在分布式环境下能够安全可靠安全地升级数据库,

同时也支持失败恢复

运行方式

首次启动会创建默认名为SCHEMA_VERSION的元素局表。 表中保存了版本,描述,要执行的sql脚本

flyway找脚本的时候默认去src/mian/resources下面的db/migration

相关命令

Migrate是指把数据Schema迁移到最新版本,在Migrate时会检查MetaData元数据表,如果不存在就创建MetaData表,MetaData用于记录数据库历史变更等信息;

Migrate会扫描指定文件系统或者classpath下的Migrations。会与MetaData中的记录进行对比,进行版本升级;

Clean:清除掉对应数据库Schema中所有的对象,包括表结构,视图,存储过程等,clean操作在dev 和 test阶段很好用;

Info:用于打印所有的Migrations的详细和状态信息,也是通过MetaData和Migrations完成的,可以快速定位当前的数据库版本;

validate:验证以及apply的Migrations是否有变更,默认开启的;原理是对比MetaData表与本地Migrations的checkNum值,如果值相同则验证通过,否则失败。

BaseLine:对已经存在数据库Schema结构的数据库一种解决方案。实现在非空数据库新建MetaData表,并把Migrations应用到该数据库;也可以应用到已有表结构的数据库中也可以实现添加Metadata表。

repair:repair操作能够修复metaData表,该操作在metadata出现错误时很有用

使用步骤

1.springboot来整合

2.建src/db/migration文件夹

3.建V开头+版本号+双下划线+描述.sql 脚本文件

4.增加flyway的java类(执行数据迁移和读取配置文件)--可选

5.数据库有了新的改动,导出新版本sql文件到db.migration 自动更新

flyway java_flyway的使用相关推荐

  1. flyway配置mysql_SpringBoot 中的Flyway配置

    在我们的Springboot项目--studentsystem中使用flyway进行数据库版本控制.我们的springboot项目采用gradle管理. 配置过程很简单,只需要在build.gradl ...

  2. Spring Boot 2.x基础教程:使用Flyway管理数据库版本

    之前已经介绍了很多在Spring Boot中使用MySQL的案例,包含了Spring Boot最原始的 JdbcTemplate(https://blog.didispace.com/spring-b ...

  3. Flyway 执行报错: 'user_variables_by_thread' 表没有SELECT权限问题

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 分享一个最近在整Flyway时候碰到的一个问题,以及对应 ...

  4. Spring Boot中使用Flyway来管理数据库版本

    久违了的Spring Boot系列,今天抽空更新一篇.之前写过很多篇关于数据访问的文章了,比如下面这些: 使用JdbcTemplate 使用Spring-data-jpa简化数据访问层(推荐) 多数据 ...

  5. flyway常用配置_Spring Boot 2 实战:使用 Flyway 管理你数据库的版本变更

    1. 前言 随着项目的不断迭代,数据库表结构.数据都在发生着变化.甚至有的业务在多环境版本并行运行.数据为王的时代,管理好数据库的版本也成为了迫切的需要.如何能做到像 Git 之类的版本控制工具来管理 ...

  6. flyway java使用,如何使用flyway创建数据库?

    Question: Is it possible to create a new DB in a migration script and then connect to it? How? My Sc ...

  7. flyway命令行使用示例:指定conf配置文件

    ./flyway -configFiles="conf/mysql_local.conf" -table="my_schema_history_table" i ...

  8. flyway使用简介

    官网 https://flywaydb.org/ 背景 Flyway是独立于数据库的应用.管理并跟踪数据库变更的数据库版本管理工具.用通俗的话讲,Flyway可以像Git管理不同人的代码那样,管理不同 ...

  9. FlyWay简单使用

    配置参考博客 1.在pom.xml中添加配置flyway:locations : classpath:/db ---定义flayway db文件位置baseline-on-migrate : true ...

最新文章

  1. STC89C52单片机 点亮两个数码管,可以显示 00——10 共 11 个数字
  2. shell中使用echo命令改变输出显示样式
  3. Atom飞行手册翻译: 2.7 ~ 2.10
  4. c语言单字符输入和输出函数分别为,第03章单元总练习-实训-知识拓展.doc
  5. ArcMap下栅格图象矢量化步骤:
  6. mysql limit 越大越慢_mysql 优化之14:php mysql limit 分页优化,页面值越大查询越慢...
  7. asp.net中慎用static全局变量
  8. ERROR ITMS-90206:Invalid Bundle. The bundle at ‘xx.app/xx/xx.framework' contan
  9. lucene3.0中使用MultiFieldQueryParser多字段查找
  10. 蓝牙耳机怎么换电池?
  11. 机器学习算法与Python实践之逻辑回归(Logistic Regression)
  12. 卸载sqlserver2012
  13. linux网络管理员认证考试,红帽认证系统管理员 (RHCSA) 考试
  14. 西门子atch指令详解_西门子PLC中断指令?
  15. ffmpeg 265转YUV命令 转码工具,各种格式间互转,计算PSNR
  16. 中创软件哪个部分是外包_什么是外包| 第1部分
  17. 计算机组成原理DROM,最新版 计算机组成原理试题及答案a
  18. linux视频日记软件下载,Linux(Ubunt)使用日记------常用软件汇总(不定时更新)
  19. python列表的方法详解
  20. C++ Builder 由于找不到 CC32C260MT.DLL、rtl260.bpl、vcl260.bpl,无法继续执行代码

热门文章

  1. 技术干货 | 闲鱼:一个优秀的 Push 平台,需要经历怎样的前世今生
  2. 阿里云数据库快速搭建疫情分析系统最佳实践
  3. DTCC 2020 | 阿里云吉剑南:在线分析进入Fast Data时代的关键技术解读
  4. 《炉石传说》架构设计赏析(4):Asset管理
  5. 不悲观-不emo-永远保持正能量——21年末,去掉所有的不开心
  6. win10磁盘检查命令
  7. PHP文件上传【前后台编码】
  8. sys.dbms_transaction.local_transaction_id出现的问题
  9. goldengate的实施过程
  10. 拯救跟我一样的初学者:XML到底是什么玩意,用能让初学者听得懂的话