華為 Open Gauss 數據庫在 Spring Boot 中使用 Flyway

?db-migration:Flyway、Liquibase 擴展支持達夢(DM)、南大通用(GBase 8s)、OpenGauss 等國產數據庫。部分數據庫直接支持 Flowable 工作流。

開源代碼倉庫?Github:https://github.com/mengweijin/db-migration

開源代碼倉庫 Gitee:https://gitee.com/mengweijin/db-migration

已支持

  • 達夢(DM 8):支持 Flyway 和 Liquibase,支持 flowable 工作流。
  • 南大通用(GBase 8s):支持 Flyway 和 Liquibase。
  • OpenGauss:支持 Flyway,Liquibase 可直接使用 postgres 驅動得到支持。
  • 人大金倉(Kingbase):可直接使用 postgres 驅動得到支持,無需依賴 db-migration 項目。
版本說明
  • ??:不支持;
  • 🈯?:flyway 或 liquibase?需要指定特定版本才支持;
  • ???:flyway 或 liquibase?不需要指定版本就支持(不指定版本,則默認使用的 spring boot 默認版本);
db-migration 版本spring boot 版本flyway 版本liquibase 版本
2.0.82.0.x.RELEASE7.15.0 ??4.27.0 ??
2.0.82.1.x.RELEASE7.15.0 ??4.27.0 🈯?
2.0.82.2.x.RELEASE7.15.0 ??4.27.0 🈯?
2.0.82.3.x.RELEASE7.15.0 ??4.27.0 🈯?
2.0.82.4.x7.15.0 🈯?4.27.0 🈯?
2.0.82.5.x7.15.0 🈯?4.27.0 🈯?
2.0.82.6.x8.0.4 ???4.27.0 🈯?
2.0.82.7.x8.5.11 ???4.27.0 🈯?
2.0.83.0.x9.5.1 ???4.27.0 🈯?
2.0.83.1.x9.16.3 ???4.27.0 🈯?
2.0.83.2.x9.22.3 ???4.27.0 🈯?
2.0.83.3.x10.10.0 ???4.27.0 ???
2.0.83.4.x10.10.0 🈯?4.27.0 🈯?

參考文檔

  • 【達夢 DM DBMS】 使用 Flyway
  • 【達夢 DM DBMS】 使用 Liquibase 和 Flowable 工作流
  • 【南大通用 GBase 8s】 使用 Flyway
  • 【南大通用 GBase 8s】 使用 Liquibase
  • 【華為 OpenGauss】 使用 Flyway
  • 【華為 OpenGauss】 使用 Liquibase
  • 【人大金倉 Kingbase】 使用 Flyway 的示例工程
  • 【人大金倉 Kingbase】 使用 Liquibase 的示例工程

Flyway 對 PL/SQL 的支持

Oracle 的存儲過程、觸發器、函數等 PL/SQL 代碼塊需以?/?符號結尾,告知 SQL 引擎執行該代碼塊。

因此,在 Flyway 中執行 Oracle 存儲過程腳本時,必須在 PL/SQL 塊的末尾添加?/?符號,以明確表示代碼塊的結束。 這是 Oracle 數據庫對 PL/SQL 語法解析的要求,Flyway 在執行腳本時同樣需要遵循這一規則。

Flyway 默認使用普通 SQL 解析器執行腳本,而 Oracle 的 PL/SQL 塊需要明確的分隔符。添加 / 符號能幫助 Flyway 識別代碼塊邊界。

例如在創建存儲過程或觸發器時:

CREATE OR REPLACE PROCEDURE test_proc AS
BEGIN-- 存儲過程邏輯。此處略。
END;
/CREATE TRIGGER test_trig AFTER INSERT ON test_user
BEGINUPDATE test_user SET name = CONCAT(name, 'triggered');
END;
/

與普通 SQL 腳本的區別:

普通的 DDL(如建表)或 DML(如插入數據)腳本無需 / 符號,因為它們不是多行代碼塊。 例如:

CREATE TABLE users (id NUMBER PRIMARY KEY);
INSERT INTO users VALUES (1);

但涉及 PL/SQL 結構的腳本(如存儲過程、函數、包)必須添加 /。

其他文檔

  • Oracle 清理 Flowable 7.0.1 所有表腳本
  • MySQL、Oracle、PostgreSQL 等數據庫使用Flyway 的溫馨提示

完整的基礎使用示例參考代碼倉庫中,各自的 demo 工程。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/72579.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/72579.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/72579.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java 查找兩個集合的交集部分數據

利用了Java 8的Stream API&#xff0c;代碼簡潔且效率高 import java.util.stream.Collectors; import java.util.List; import java.util.HashSet; import java.util.Set;public class ListIntersection {public static List<Long> findIntersection(List<Long> …

雙足機器狗開發:Rider - Pi

雙足機器狗開發:Rider - Pi https://github.com/YahboomTechnology/Rider-Pi-Robot 項目介紹 Rider - Pi是一款為開發者、教育工作者和機器人愛好者設計的桌面雙輪腿式機器人,它基于樹莓派CM4核心模塊構建,具備多種先進功能和特點: 硬件特性 核心模塊:采用樹莓派CM4核…

Android12 添加開機鈴聲

系統默認是沒有播放開機鈴聲的功能&#xff0c;MTK有一套自己的開機鈴聲處理邏輯&#xff0c;代碼在/vendor/mediatek/proprietary/operator/frameworks/bootanimation/MtkBootanimation下&#xff0c;但是在10之后MTK就不在維護這部分代碼了。直接使用會有很多編譯報錯&#x…

3.6V-30V寬壓輸入降壓同步IC內置MOS,電流4A/5A/6A,可以滿足汽車應急電源,BMS電池,電池組USB口輸出等儲能應用

今天給大家介紹一下這三款產品&#xff0c;分別是CJ92340,輸入電壓4.5V-30V&#xff0c;輸出可調&#xff0c;電流負載能力可達4A&#xff0c;頻率350KHZ。CJ92350,輸入電壓3.6V-30V&#xff0c;輸出可調&#xff0c;頻率可調&#xff0c;帶載能力達5A。CJ92360,輸入電壓3.6V-3…

代碼隨想錄算法訓練營第35天 | 01背包問題二維、01背包問題一維、416. 分割等和子集

一、01背包問題二維 二維數組&#xff0c;一維為物品&#xff0c;二維為背包重量 import java.util.Scanner;public class Main{public static void main(String[] args){Scanner scanner new Scanner(System.in);int n scanner.nextInt();int bag scanner.nextInt();int[…

010---基于Verilog HDL的分頻器設計

文章目錄 摘要一、時序圖二、程序設計2.1 rtl2.2 tb 三、仿真分析四、實用性 摘要 文章為學習記錄。繪制時序圖&#xff0c;編碼。通過修改分頻值參數&#xff0c;實現一定范圍分頻值內的任意分頻器設計。 一、時序圖 二、程序設計 2.1 rtl module divider #(parameter D…

維度建模事實表技術基礎解析(以電商場景為例)

維度建模事實表技術基礎解析(以電商場景為例) 1. 事實表結構 定義:事實表是維度建模的核心,由外鍵(關聯維度表)、度量值(可量化的業務指標)及退化維度(冗余的維度屬性)組成。其本質是記錄業務過程中的度量事件,例如電商訂單金額、商品庫存量等。 場景識別:適用于…

Redis 主從復制、哨兵與集群的關系及工作原理詳解

一、核心概念與關系 Redis 的 主從復制、哨兵&#xff08;Sentinel&#xff09; 和 集群&#xff08;Cluster&#xff09; 是逐步演進的高可用與分布式解決方案&#xff0c;三者關系如下&#xff1a; 主從復制&#xff1a;數據冗余與讀寫分離的基礎。 哨兵&#xff1a;在主從…

確認機制的分類及其區別與聯系探討

在傳輸控制中&#xff0c;確認機制&#xff08;ACK 機制&#xff09;作為反饋模塊在實現擁塞控制、丟包恢復和狀態監測等功能中起到了至關重要的作用。今天我將基于之前發表的論文研究成果&#xff0c;對確認機制的分類進行系統梳理&#xff0c;并討論各類機制之間的區別與聯系…

115 道 MySQL 面試題,從簡單到深入!

1. 什么是數據庫事務&#xff1f; 數據庫事務是一個作為單個邏輯工作單元執行的一系列操作。事務具有ACID屬性&#xff0c;即原子性&#xff08;Atomicity&#xff09;、一致性&#xff08;Consistency&#xff09;、隔離性&#xff08;Isolation&#xff09;和持久性&#xf…

Linux - 網絡套接字

一、網絡編程 1&#xff09;地址結構 1. IP地址結構 struct in_addr&#xff1a;是用于表示 IPv4 地址 的結構體&#xff0c;定義在頭文件 <netinet/in.h> 中。它的主要作用是存儲一個 32 位的 IPv4 地址&#xff0c;通常與 struct sockaddr_in 一起使用。 struct in_a…

程序員學商務英語之Visiting the Factory

Dialogue-1 Arranging a Visit安排參觀 I was wondering if you would / could lend me a million bucks, you know, I’m trying to start / run my own business. 我想知道你是否能夠借給我一百萬美金&#xff0c;你知道&#xff0c;我正在創業。 Take off your tie befor…

機器視覺運動控制一體機在天地蓋同步跟隨貼合解決方案

市場應用背景 紙盒天地蓋是一種包裝形式&#xff0c;廣泛應用于消費電子、食品禮盒、奢侈品及化妝品等領域。其采用高強度紙板&#xff0c;經過預組裝處理&#xff0c;結構堅固穩定&#xff0c;能有效保護產品并提升品牌形象。隨著包裝行業快速發展&#xff0c;市場對天地蓋的…

【智能體Agent】ReAct智能體的實現思路和關鍵技術

基于ReAct&#xff08;Reasoning Acting&#xff09;框架的自主智能體 import re from typing import List, Tuplefrom langchain_community.chat_message_histories.in_memory import ChatMessageHistory from langchain_core.language_models.chat_models import BaseChatM…

Electron打包工具對比

在 Electron 生態中&#xff0c;打包工具的選擇直接影響開發效率、配置復雜度和最終應用的性能。以下是主流的 Electron 打包工具及其優劣分析&#xff0c;結合你的 Vue 項目需求&#xff0c;我會在最后給出推薦方案&#xff1a; 一、主流 Electron 打包工具對比 1. Electron …

云原生系列之本地k8s環境搭建

前置條件 Windows 11 家庭中文版&#xff0c;版本號 23H2 云原生環境搭建 操作系統啟用wsl(windows subsystem for linux) 開啟wsl功能&#xff0c;如下圖 安裝并開啟github加速器 FastGithub 2.1 下載地址&#xff1a;點擊下載 2.2 解壓安裝文件fastgithub_win-x64.zip 2…

【計算機網絡入門】TCP擁塞控制

目錄 1. TCP擁塞控制和TCP流量控制的區別 2. 檢測到擁塞該怎么辦 2.1 如何判斷網絡擁塞&#xff1f; 3. 慢開始算法 擁塞避免算法 4.快重傳事件->快恢復算法 5. 總結 1. TCP擁塞控制和TCP流量控制的區別 TCP流量控制是控制端對端的數據發送量。是局部的概念。 TCP擁…

Spring Boot 整合 JMS-ActiveMQ,并安裝 ActiveMQ

1. 安裝 ActiveMQ 1.1 下載 ActiveMQ 訪問 ActiveMQ 官方下載頁面&#xff0c;根據你的操作系統選擇合適的版本進行下載。這里以 Linux 系統&#xff0c;Java環境1.8版本為例&#xff0c;下載 apache-activemq-5.16.7-bin.tar.gz。 1.2 解壓文件 將下載的壓縮包解壓到指定目…

《幾何原本》命題I.13

《幾何原本》命題I.13 兩條直線相交&#xff0c;鄰角是兩個直角或者相加等于 18 0 ° 180^{\circ} 180°。 若兩角相等&#xff0c;則根據定義&#xff0c;兩角為直角。 兩角若不相等&#xff0c;如圖&#xff0c;則 ( ∠ 1 ∠ 2 ) ∠ 3 ∠ 1 ( ∠ 2 ∠ 3 ) 9 0 ° …

優先級隊列:通過堆的形式實現

描述: 大頂堆: 小頂堆: 索引位置查找: 代碼實現: package com.zy.queue_code.deque;/*** @Author: zy* @Date: 2025-03-05-15:51* @Description:*/ public interface Priority