2020年12月18日星期五

flayway数据库管理

用flayway实现springboot项目启动自动执行sql功能:

1、在pom文件中引入依赖包:

  <!--自动执行sql-->  <dependency>   <groupId>org.flywaydb</groupId>   <artifactId>flyway-core</artifactId>   <version>5.2.4</version>  </dependency>

注意:如果引入版本过高会出现找不到某一个实体类的报错,在6版本以上上删除了某些实体的;

2、application.yml文件中添加配置项,如下:

spring: flyway: baseline-on-migrate: true #已当前数据库为基准 out-of-order: false #是否按照顺序执行 true:不按照 # 执行时标记的tag 默认为<<Flyway Baseline>> baseline-description: <<Flyway Baseline>> # 是否启用flyway enabled: true # 检测迁移脚本的路径是否存在,如不存在,则抛出异常 check-location: true # 脚本位置 locations: classpath:db/migration # 在迁移时,是否校验脚本,假设V1.0__初始.sql已经迁移过了,在下次启动时会校验该脚本是否有变更过,则抛出异常 validate-on-migrate: true

3、在resource目录下新建db/migration文件夹,写sql脚本

说明:1)默认存放位置是在此目录下

   2)命名规范:

              a、有序执行sql文件,以V开头,后面是版本号(注意可以上大版本也可以是小版本,比如V2和V2_1)然后是__加注释(注意版本号后面一定是双下划线,在后面如果还有注释就用单下划线),,如:

                                                    

 

         以V开头的sql文件执行之后是不可以修改的,如果修改启动则会报错,解决方案是删除数据库的记录,如下:

                             

 

          

      b、无序执行的sql文件,以R开头,后面没有版本号,直接加注释,此sql文件可修改,flyway会自行判断文件是否有改动,会执行改动的部分sql

                    

 









原文转载:http://www.shaoqun.com/a/501304.html

reverb:https://www.ikjzd.com/w/1273

立刻网:https://www.ikjzd.com/w/2323

adore:https://www.ikjzd.com/w/2202


用flayway实现springboot项目启动自动执行sql功能:1、在pom文件中引入依赖包:<!--自动执行sql--><dependency><groupId>org.flywaydb</groupId><artifactId>flyway-core</artifactId><version>5.2.4&l
bestbuy:bestbuy
联动优势:联动优势
七夕,深圳哪里比较好玩?:七夕,深圳哪里比较好玩?
诡异!德国站账号集体遭冻结!:诡异!德国站账号集体遭冻结!
三亚有哪些机场?机场有几个国际航班?:三亚有哪些机场?机场有几个国际航班?

没有评论:

发表评论