亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

SpringBoot整合flyway實(shí)現(xiàn)步驟解析

瀏覽:3日期:2023-05-01 11:09:52

引入依賴

pom.xml

<?xml version='1.0' encoding='UTF-8'?><project xmlns='http://maven.apache.org/POM/4.0.0' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd'> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.6.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.yang</groupId> <artifactId>fly-way-demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>fly-way-demo</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-core</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions><exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId></exclusion> </exclusions> </dependency> </dependencies> <build> <plugins> <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin><groupId>org.flywaydb</groupId><artifactId>flyway-maven-plugin</artifactId> </plugin> </plugins> </build></project>

第一版sql腳本

src/main/resources/db/migration/V1__sys_dept.sql

SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for sys_dept-- ----------------------------DROP TABLE IF EXISTS `sys_dept`;CREATE TABLE `sys_dept` ( `dept_id` int(20) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL COMMENT ’部門(mén)名稱’, `sort` int(11) DEFAULT ’0’ COMMENT ’排序’, `create_time` datetime DEFAULT NULL COMMENT ’創(chuàng)建時(shí)間’, `update_time` datetime DEFAULT NULL COMMENT ’修改時(shí)間’, `del_flag` char(1) DEFAULT ’0’ COMMENT ’是否刪除 -1:已刪除 0:正常’, `parent_id` int(11) DEFAULT NULL, PRIMARY KEY (`dept_id`)) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT=’部門(mén)管理’;

第二版sql腳本

src/main/resources/db/migration/V1.1__sys_dept.sql

INSERT INTO `sys_dept` VALUES (1, ’總經(jīng)辦’, 0, ’2020-03-13 13:13:16’, ’2020-03-13 13:14:31’, ’0’, 0);INSERT INTO `sys_dept` VALUES (2, ’行政中心’, 1, ’2020-03-13 13:13:30’, NULL, ’0’, 1);INSERT INTO `sys_dept` VALUES (3, ’技術(shù)中心’, 2, ’2020-03-13 13:14:55’, NULL, ’0’, 1);INSERT INTO `sys_dept` VALUES (4, ’運(yùn)營(yíng)中心’, 3, ’2020-03-13 13:15:15’, NULL, ’0’, 1);INSERT INTO `sys_dept` VALUES (5, ’研發(fā)中心’, 5, ’2020-03-13 13:15:34’, NULL, ’0’, 3);INSERT INTO `sys_dept` VALUES (6, ’產(chǎn)品中心’, 6, ’2020-03-13 13:15:49’, NULL, ’0’, 3);INSERT INTO `sys_dept` VALUES (7, ’測(cè)試中心’, 7, ’2020-03-13 13:16:02’, NULL, ’0’, 3);

項(xiàng)目配置文件,主要是dataSource,flyway的采用約定值

src/main/resources/application.properties

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/fly_way?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=truespring.datasource.username=rootspring.datasource.password=rootspring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

一些flyway配置項(xiàng)

flyway.baseline-description對(duì)執(zhí)行遷移時(shí)基準(zhǔn)版本的描述.flyway.baseline-on-migrate當(dāng)遷移時(shí)發(fā)現(xiàn)目標(biāo)schema非空,而且?guī)в袥](méi)有元數(shù)據(jù)的表時(shí),是否自動(dòng)執(zhí)行基準(zhǔn)遷移,默認(rèn)false.flyway.baseline-version開(kāi)始執(zhí)行基準(zhǔn)遷移時(shí)對(duì)現(xiàn)有的schema的版本打標(biāo)簽,默認(rèn)值為1.flyway.check-location檢查遷移腳本的位置是否存在,默認(rèn)false.flyway.clean-on-validation-error當(dāng)發(fā)現(xiàn)校驗(yàn)錯(cuò)誤時(shí)是否自動(dòng)調(diào)用clean,默認(rèn)false.flyway.enabled是否開(kāi)啟flywary,默認(rèn)true.flyway.encoding設(shè)置遷移時(shí)的編碼,默認(rèn)UTF-8.flyway.ignore-failed-future-migration當(dāng)讀取元數(shù)據(jù)表時(shí)是否忽略錯(cuò)誤的遷移,默認(rèn)false.flyway.init-sqls當(dāng)初始化好連接時(shí)要執(zhí)行的SQL.flyway.locations遷移腳本的位置,默認(rèn)db/migration.flyway.out-of-order是否允許無(wú)序的遷移,默認(rèn)false.flyway.password目標(biāo)數(shù)據(jù)庫(kù)的密碼.flyway.placeholder-prefix設(shè)置每個(gè)placeholder的前綴,默認(rèn)${.flyway.placeholder-replacementplaceholders是否要被替換,默認(rèn)true.flyway.placeholder-suffix設(shè)置每個(gè)placeholder的后綴,默認(rèn)}.flyway.placeholders.[placeholder name]設(shè)置placeholder的valueflyway.schemas設(shè)定需要flywary遷移的schema,大小寫(xiě)敏感,默認(rèn)為連接默認(rèn)的schema.flyway.sql-migration-prefix遷移文件的前綴,默認(rèn)為V.flyway.sql-migration-separator遷移腳本的文件名分隔符,默認(rèn)__flyway.sql-migration-suffix遷移腳本的后綴,默認(rèn)為.sqlflyway.tableflyway使用的元數(shù)據(jù)表名,默認(rèn)為schema_versionflyway.target遷移時(shí)使用的目標(biāo)版本,默認(rèn)為latest versionflyway.url遷移時(shí)使用的JDBC URL,如果沒(méi)有指定的話,將使用配置的主數(shù)據(jù)源flyway.user遷移數(shù)據(jù)庫(kù)的用戶名flyway.validate-on-migrate遷移時(shí)是否校驗(yàn),默認(rèn)為true.

啟動(dòng)項(xiàng)目可以看到業(yè)務(wù)表的變化及flyway_schema_history版本記錄表的變化。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 成人国产精品一级毛片了 | 美国一级片免费看 | 国内精品久久影视免费 | 国产精品看片 | 久久在线免费 | 成年黄色网址 | 国自产拍在线视频天天更新 | 视频一区 在线 | 亚洲精品专区 | 国产在线精品二区韩国演艺界 | 日本第一页 | 国产成人h综合亚洲欧美在线 | 国产淫语对白在线视频 | 草逼网站 | 色爱区综合激月婷婷激情五月 | 国产婷婷色一区二区三区深爱网 | 激情网址大全 | 国产不卡的一区二区三区四区 | 俄罗斯胖老太与小伙交 | 中文字幕日本在线视频二区 | 精品欧美一区二区三区在线 | 久久噜国产精品拍拍拍拍 | 欧美αv日韩αv亚洲αv在线观看 | 91精品国产欧美一区二区 | 日本高清在线精品一区二区三区 | 国产亚洲精品一区久久 | 久热精品在线视频 | 欧亚精品一区二区三区 | 久久精品一区二区三区不卡牛牛 | 香蕉高清免费永久在线视频 | 国产成人影院在线观看 | 国产卡一卡二卡三 | 黄在线观看免费 | 91妖精视频 | 18p爽视频在线观看免费 | 国产亚洲精品国产福利在线观看 | 国产农村一一级特黄毛片 | 国产精品卡哇伊小可爱在线观看 | 一级毛片一级毛片一级毛片aa | 亚洲国产精品成 | 在线欧美三级 |