欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年08月20日 09:41:54   作者:JaxYoun  
這篇文章主要介紹了SpringBoot整合flyway實現(xiàn)步驟解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

引入依賴

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 '部門名稱',
 `sort` int(11) DEFAULT '0' COMMENT '排序',
 `create_time` datetime DEFAULT NULL COMMENT '創(chuàng)建時間',
 `update_time` datetime DEFAULT NULL COMMENT '修改時間',
 `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='部門管理';

第二版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, '運營中心', 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, '測試中心', 7, '2020-03-13 13:16:02', NULL, '0', 3);

項目配置文件,主要是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=true
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

一些flyway配置項

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java如何計算兩個時間段內(nèi)的工作日天數(shù)

    Java如何計算兩個時間段內(nèi)的工作日天數(shù)

    這篇文章主要介紹了Java如何計算兩個時間段內(nèi)的工作日天數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 詳解SpringBoot如何創(chuàng)建自定義Starter

    詳解SpringBoot如何創(chuàng)建自定義Starter

    Spring Boot的自動配置機制為開發(fā)人員提供了一種輕松集成和配置各種功能的便捷方式,本文將深入探討在Spring Boot中如何創(chuàng)建自定義Starter,為構(gòu)建模塊化且易維護的應(yīng)用提供有力的支持,需要的朋友可以參考下
    2024-02-02
  • Lombok的@CustomLog流暢的公司多場景日志

    Lombok的@CustomLog流暢的公司多場景日志

    這篇文章主要為大家介紹了Lombok的@CustomLog流暢的公司多場景日志開發(fā)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • Java源碼難點突破Lambda表達式執(zhí)行原理

    Java源碼難點突破Lambda表達式執(zhí)行原理

    這篇文章主要為大家介紹了Java難點突破Lambda表達式執(zhí)行原理分析及示例的實現(xiàn)源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-03-03
  • Spring實現(xiàn)上拉刷新和下拉加載效果

    Spring實現(xiàn)上拉刷新和下拉加載效果

    這篇文章主要為大家詳細介紹了Spring實現(xiàn)上拉刷新和下拉加載效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Maven項目無法加載jdbc.properties的問題解決

    Maven項目無法加載jdbc.properties的問題解決

    本文主要介紹了Maven項目無法加載jdbc.properties的問題解決,文章首先分析了問題的原因,然后提供了解決方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • IDEA 非常重要的一些設(shè)置項(一連串的問題差點讓我重新用回 Eclipse)

    IDEA 非常重要的一些設(shè)置項(一連串的問題差點讓我重新用回 Eclipse)

    這篇文章主要介紹了IDEA 非常重要的一些設(shè)置項(一連串的問題差點讓我重新用回 Eclipse),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • java List中相同的數(shù)據(jù)合并到一起

    java List中相同的數(shù)據(jù)合并到一起

    這篇文章主要介紹了java List中相同的數(shù)據(jù)合并到一起,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • SpringBoot基于過濾器和內(nèi)存實現(xiàn)重復(fù)請求攔截功能

    SpringBoot基于過濾器和內(nèi)存實現(xiàn)重復(fù)請求攔截功能

    這篇文章主要介紹了SpringBoot基于過濾器和內(nèi)存實現(xiàn)重復(fù)請求攔截,這里我們使用過濾器的方式對進入服務(wù)器的請求進行過濾操作,實現(xiàn)對相同客戶端請求同一個接口的過濾,需要的朋友可以參考下
    2023-01-01
  • Java中List轉(zhuǎn)Map List實現(xiàn)的幾種姿勢

    Java中List轉(zhuǎn)Map List實現(xiàn)的幾種姿勢

    本文主要介紹了Java中List轉(zhuǎn)Map List實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06

最新評論