若依框架前后端分离版,集成数据库版本控制flyway

编程入门 行业动态 更新时间:2024-10-09 23:12:27

若依<a href=https://www.elefans.com/category/jswz/34/1770644.html style=框架前后端分离版,集成数据库版本控制flyway"/>

若依框架前后端分离版,集成数据库版本控制flyway

  1. 在admin模块的pom.xml增加依赖
        <!-- 数据库版本控制 --><dependency><groupId>org.flywaydb</groupId><artifactId>flyway-core</artifactId><version>7.15.0</version></dependency>
  1. 在admin模块下的resources 的配置文件spring下增加
  # 数据库版本管理flyway:#是否启用enabled: true# 字符编码encoding: utf-8# 对执行迁移时基准版本的描述baseline-description: BaseLineInitialize# 开始执行基准迁移时对现有的schema的版本打标签,默认值为1.baseline-version: 1.0.0# 是否允许无序的迁移,默认 falseout-of-order: false# 当读取元数据表时是否忽略错误的迁移,默认falseignore-future-migrations: false# 可以支持多个location, 用','隔开locations: classpath:db/migration#是否创建元数据表validate-on-migrate: true# flyway 的 clean 命令会删除指定 schema 下的所有 table, 生产务必禁掉。这个默认值是false 理论上作为默认配置是不科学的。clean-disabled: false# 如果数据库不是空表,需要设置成 true,否则启动报错baseline-on-migrate: true# 版本控制日志表,默认flyway_schema_history,不同系统建议修改数据table: flyway_schema_history
  1. 在framework 下面定义flyway配置bean
package com.qilaike.framework.config;import javax.annotation.PostConstruct;
import javax.sql.DataSource;import org.flywaydb.core.Flyway;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;@Configuration
public class FlywayConfig {@Autowiredprivate DataSource dataSource;// 字符编码@Value("${spring.flyway.encoding}")private String encoding;// 对执行迁移时基准版本的描述@Value("${spring.flyway.baseline-description}")private String baselineDescription;// 是否自动执行基准迁移@Value("${spring.flyway.baseline-on-migrate}")private boolean baselineOnMigrate;// 指定 baseline 的版本号@Value("${spring.flyway.baseline-version}")private String baselineVersion;// 迁移时是否校验@Value("${spring.flyway.validate-on-migrate}")private boolean validateOnMigrate;// 是否允许无序的迁移@Value("${spring.flyway.out-of-order}")private boolean outOfOrder;// 当读取元数据表时是否忽略错误的迁移@Value("${spring.flyway.ignore-future-migrations}")private boolean ignoreFutureMigrations;// 当初始化好连接时要执行的SQL//@Value("${flyway.init-sql}")//private String initSql;@PostConstructpublic void migrate() {Flyway flyway = Flyway.configure().dataSource(dataSource).encoding(encoding).baselineDescription(baselineDescription).baselineOnMigrate(baselineOnMigrate).baselineVersion(baselineVersion).validateOnMigrate(validateOnMigrate).outOfOrder(outOfOrder).ignoreFutureMigrations(ignoreFutureMigrations)//.initSql(initSql).load();flyway.migrate();}}
  1. 在admin模块下的resources下面增加目录db/migration
  2. 开始在db/migration下面增加sql文件,文件命名有要求
  3. 启动项目,看看自己的sql是否生效,生效则成功,其他情况自己解决去吧!

更多推荐

若依框架前后端分离版,集成数据库版本控制flyway

本文发布于:2023-11-15 13:51:53,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1600760.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:框架   后端   版本   数据库   flyway

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!