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

安康市网站建设_网站建设公司_腾讯云_seo优化

山东旗舰建设集团网站,网站开发技术 下载,阳江房产网官网,公司网站建设案例教程目录 Spring Boot 3.0 : 集成flyway数据库版本控制工具flyway是什么为什么使用flyway主要特性支持的数据库#xff1a; flyway如何使用spring boot 集成实现引入依赖配置sql版本控制约定3种版本类型 运行SpringFlyway 8.2.1及以后版本不再支持MySQL#xff1f; 个人主页: 【⭐… 目录 Spring Boot 3.0 : 集成flyway数据库版本控制工具flyway是什么为什么使用flyway主要特性支持的数据库 flyway如何使用spring boot 集成实现引入依赖配置sql版本控制约定3种版本类型 运行SpringFlyway 8.2.1及以后版本不再支持MySQL 个人主页: 【⭐️个人主页】 需要您的【 点赞关注】支持 Spring Boot 3.0 : 集成flyway数据库版本控制工具 本文核心知识点 flyway是什么 为什么使用flyway flyway如何使用 spring boot 集成实现 flyway是什么 https://flywaydb.org/ 我们都知道Git/ SVN 是代码界的版本控制工具那么Flyway 就是一款数据库界的版本控制工具它可以记录数据库的变化记录。 Flyway是一个简单开源数据库版本控制器约定大于配置主要提供migrate、clean、info、validate、baseline、repair等命令。它支持SQLPL/SQL、T-SQL方式和Java方式支持命令行客户端等还提供一系列的插件支持Maven、Gradle、SBT、ANT等。 为什么使用flyway 主要特性 普通 SQL纯 SQL 脚本(包括占位符替换)没有专有的XML格式没有锁定无限制使用 Java 代码来进行一些高级数据操作零依赖只需运行在 Java6(及以上)和数据库所需的 JDBC 驱动约定优于配置迁移时自动查找系统文件和类路径中的 SQL 文件或 Java 类高可靠性在集群环境下进行数据库升级是安全可靠的云支持完全支持 Microsoft SQL Azure, Google Cloud SQL App Engine、Heroku Postgres 和 Amazon RDS自动迁移使用 Flyway 提供的 API让应用启动和迁移同时工作快速失败损坏的数据库或失败的迁移可以防止应用程序启动数据库清理在一个数据库中删除所有的表、视图、触发器而不是删除数据库本身 可能很多公司都是通过人工去维护、同步数据库脚本但经常会遇到疏忽而遗漏的情况举个简单的例子 我们在开发环境对某个表新增了一个字段而提交测试时却忘了提交该 SQL 脚本导致出现 bug 而测试中断从而影响开发、测试的工作效率。 有了 Flyway我们可以按版本约定统一管理所有的 SQL 脚本变更在所有环境自动同步数据库而无需人为手工控制再也不用担心因数据库不同步而导致的各种环境问题 支持的数据库 flyway如何使用 支持的 7 个命令 Migrate迁移Clean清理所有配置的对象Info显示迁移状态和细节Validate验证迁移规则Undo撤消最近的迁移Baseline建立基线Repair修复迁移历史表 spring boot 集成实现 工具版本spring boot3.1.5flyway10.0.1jdk17mysql8 Flyway 几乎是零依赖最低的要求是 JDK 1.7 Jdbc Driver 引入依赖 implementation org.flywaydb:flyway-core:10.0.1dependencygroupIdorg.flywaydb/groupIdartifactIdflyway-core/artifactIdversion10.0.1/version/dependency配置 Spring Boot 默认提供了对 Flyway 的自动配置 org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration application.yaml配置 spring:flyway:enabled: true# 禁止清理数据库表clean-disabled: true# 如果数据库不是空表需要设置成 true否则启动报错baseline-on-migrate: true# 与 baseline-on-migrate: true 搭配使用baseline-version: 0locations: - classpath:db/migration/mysql #根据个人情况设置 将需数据迁移的 sql 文件放置到 db/migration/mysql 目录中启动 Spring Boot 项目即可运行 Flyway 进行数据迁移。 注意事项 如果 flyway 不是项目初期引入而是在数据库已有表的情况下引入时必须设置 baseline-on-migrate: true设置该配置启动项目后flyway 就会在数据库中创建flyway_schema_history表并且会往该表中插入一条 version 1 的建表记录如果迁移数据有 V1__ 开头的文件扫描文件会忽略该文件不执行迁移进而可能引发其他迁移数据出错的问题。 sql版本控制约定 Flyway不限定脚本里面的内容但是对脚本文件的名称有一定的要求基于约定由于配置的原则不同的类型通过文件命名方式进行区分 3种版本类型 版本迁移(Versioned Migrations)以V开头只会执行一次回退迁移(Undo Migrations)以U开头执行一旦发生破坏性更改就会很麻烦项目中一般不用可重复执行迁移(Repeatable Migrations)以R开头每次修改后都会重新执行。可重复运行的SQL则以大写的“R”开头后面再以两个下划线分割其后跟文件名称最后以.sql结尾。比如RaddTable.sqlRupdate_user.sql。 版本号需要唯一否则Flyway执行会报错如果V__脚本.sql已经执行过了不能修改里面的内容再次执行Flyway就会报错。R——脚本.sql,如有变化可以执行多次。 V开头的SQL执行优先级要比R开头的SQL优先级高。 运行Spring Flyway 8.2.1及以后版本不再支持MySQL 官方Flyway 8.2.1版本发布说明https://flywaydb.org/documentation/learnmore/releaseNotes#8.2.1如下图所示 从说明上可知MySQL代码被提取出来作为插件需要另外增加依赖根据官方文档https://flywaydb.org/documentation/database/mysql的说明解决方案如下 dependencygroupIdorg.flywaydb/groupIdartifactIdflyway-mysql/artifactId /dependency
http://www.ihoyoo.com/news/24126.html

相关文章:

  • 如何解决旅游网站建设问题阿里云网站备案核验单
  • 昆明网站建设建站模板不知怎么入门
  • 娄底市建设银行宣传部网站建设网站对服务器有什么要求
  • 济南网站建设群网站开发环境怎么写
  • 做影视网站能赚到钱吗百度的广告怎么免费发布
  • 邯郸网站制作哪里做织梦做响应式网站
  • 南京做网站公司哪家好国家企业查询系统
  • 住房与城乡建设网站直播网站建设书籍
  • 建设中心小学网站老牌网站建
  • 深圳做网站排名网站被植入了js
  • 外贸询盘网站短网址生成网站
  • 网站后台更新的内容出不来网络营销外包项目
  • 襄樊网站推广制作网页软件app
  • wordpress 教育 主题搜索引擎优化策略应该包括
  • php源码项目 门户网站开发学网站建设语言
  • 南阳做网站的公电商网站运营
  • 学做网站论坛坑人吗音乐制作软件app
  • 网站设计培训班询龙岗区住房建设局网站
  • 西安博威建设工程有限公司招聘网站专业网站制作咨询
  • 商城网站规划宁波seo怎么做优化公司
  • 摄影网站建设策划完整方案呼和浩特网站推广公司
  • WordPress更改网站地址有创意的电商公司名字大全
  • 2017做那个网站致富建站平台选择建议
  • 中国建筑官网站长乐市建设局网站
  • 网站建设怎么把代码放入网站上学做网站论坛会员
  • 设计网站免费素材ie域名
  • 网站解析出问题 邮件收不到了全国各地网站开发外包
  • 如何查询网站关键词密度界面设计职业技能等级证书
  • 手机app wap网站模板下载广州注销营业执照
  • 西安网站建设案例个人网站名称大全