• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

java开发flyway的方法

java 搞代码 4年前 (2022-01-05) 50次浏览 已收录 0个评论

这篇文章主要介绍了java开发flyway的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

FlyWay官网:https://flywaydb.org/getstarted/firststeps/maven

Flyway做为database migration开源工具,功能上像是Git、svn这种代码版本控制。google搜索database migration,或者针对性更强些搜索database migration Java,会有其它的framework、tool、甚至aws的service。因为项目使用到了flyway,而且确实google中排第一位的搜索结果就是flyway,那就之后有机会再与其它方案做比较,先对flyway做下学习笔记。

数据库版本管理工具

什么是数据库版本管理?

来源gao!%daima.com搞$代*!码网

做过开发的小伙伴们都知道,实现一个需求时,一般情况下都需要设计到数据库表结构的修改。那么我们怎么能保证项目多人开发时,多个数据库环境(测试,生产环境)能够保持一致呢?在没有数据库版本管理工具之前,需要将数据库修改脚本拷贝到每个数据库环境进行执行。而有了数据库版本管理工具之后,程序在启动的时候就会根据实现定义好的规则来进行数据库脚本的执行。

使用flyway

使用环境

#用的是springboot项目,mysql数据库

导入flayway和mysql依赖

  org.flywaydbflyway-core mysqlmysql-connector-java org.springframework.bootspring-boot-starter-jdbc

创建数据库脚本目录

在resources资源目录下创建db/migration目录。

添加数据库脚本

 #脚本命名规则 V__.sql,P__.sql。V代表只执行一次,P代表可以执行多次 #VERSION代表数据库脚本版本,NAME代表数据名称。 #这里使用V1_test.sql,脚本内容如下所示。 DROP TABLE IF EXISTS `role`; CREATE TABLE `role` ( `id` int(11) NOT NULL, `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; INSERT INTO `role` VALUES (1, '1');

properties文件配置

 #指定数据库脚本为UTF-8, flyway的配置有很多,有兴趣的小伙伴可以去看下 spring.flyway.encoding=utf-8 #如果原来的数据库不为空,则需要设置 spring.flyway.baseline-on-migrate=true #设置数据库起始版本为0,默认为1。如果你写的sql脚本version小于等于起始版本则不会执行。 spring.flyway.baseline-version=0 #数据源配置 spring.datasource.url=jdbc:mysql://127.0.0.1/test?useUnicode=true&characterEncoding=utf8&useSSL=false spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.username=root spring.datasource.password=123456

启动应用程序,查看控制台输出

数据库查看

此时flyway会默认添加一张记录数据库版本信息的表,每次启动时会根据version值判断是否需要执行sql。

flyway是怎么执行的?

 #spring-boot-dependencies 导入了flyway,mysql依赖。 #spring-boot-autoconfigure 中导入了FlywayAutoConfiguration自动配置类

到此这篇关于java开发flyway的方法的文章就介绍到这了,更多相关java开发flyway内容请搜索gaodaima搞代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持gaodaima搞代码网

以上就是java开发flyway的方法的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:java开发flyway的方法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址