换新工作 框架很新
有些东西没见过 现学一下
从 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的使用分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/9325.html