---
title: "使用 Flyway 集成 OB Cloud 数据库实现版本管理 - OB Cloud 云数据库 master | OceanBase 文档中心"
description: 使用 Flyway 集成 OB Cloud 数据库实现版本管理 Flyway 是一款开源的数据库版本管理工具，通过创建历史记录表跟踪数据库状态，实现自动化迁移。本文介绍如何在 OB Cloud 中集成 Flyway，实现 Schema 变更的自动化部署与版本追溯。 前提条件 您已注册 OB Cloud 云数据库账号，…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*qbZXRo_94ZEAAAAAAAAAAAAADiGDAQ/original) OB Cloud 云数据库

# 使用 Flyway 集成 OB Cloud 数据库实现版本管理

更新时间：2026-06-17 11:20:24

Flyway 是一款开源的数据库版本管理工具，通过创建历史记录表跟踪数据库状态，实现自动化迁移。本文介绍如何在 OB Cloud 中集成 Flyway，实现 Schema 变更的自动化部署与版本追溯。

## 前提条件

1. 您已注册 OB Cloud 云数据库账号，并创建集群实例和租户（MySQL 或 Oracle 兼容模式租户）。
 2. Flyway 服务器 IP 已加入 OB Cloud 实例白名单。详情请参见 [设置租户白名单分组](https://www.oceanbase.com/docs/common-oceanbase-cloud-10000000001780091)。
 3. 您已获取 OB Cloud 数据库的连接串。详情请参见 [获取连接串（MySQL 兼容模式租户）](https://www.oceanbase.com/docs/common-oceanbase-cloud-10000000001781435)、[获取连接串（Oracle 兼容模式租户）](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000001346120)。

## 集成配置

### MySQL 兼容模式租户

OB Cloud 的 MySQL 兼容模式租户建议使用 flyway-core 10.0.0 或更高版本，并依赖 mysql-connector-java 和 flyway-database-oceanbase 组件。如需支持更早期版本的 Flyway，请参考如下表格：

| OceanBase 版本 | Flyway 版本 | 备注 |
| --- | --- | --- |
| ≥ 4.2.5 | < 10.x | 请联系 OB Cloud 技术支持 |
| < 4.2.5 | < 9.x | 暂不支持 |
| 9.x | 请联系 OB Cloud 技术支持 |

1. 配置 Maven 依赖。

   在项目的 `pom.xml` 文件中添加以下依赖项：

   ```xml
   <dependencies>
   <dependency>
       <groupId>org.flywaydb</groupId>
       <artifactId>flyway-core</artifactId>
       <version>11.3.2</version>
   </dependency>
   <dependency>
       <groupId>mysql</groupId>
       <artifactId>mysql-connector-java</artifactId>
       <version>5.1.47</version>
   </dependency>
   <dependency>
       <groupId>org.flywaydb</groupId>
       <artifactId>flyway-database-oceanbase</artifactId>
       <version>10.7.2</version>
   </dependency>
   </dependencies>

   ```
 2. 创建迁移脚本。

   在 Maven 项目的 `resources` 目录下创建 `db/migration` 文件夹，并在其中创建以下两个 SQL 文件：

      - 文件一：V1_1__create_person_table.sql

       ```sql
       CREATE TABLE person (
           id INT NOT NULL,
           name VARCHAR(20) NOT NULL
       );

       ```
      - 文件二：V2_1__add_person_table.sql

       ```sql
       INSERT INTO person (id, name)
       VALUES (1, 'apple');

       ```
 3. 编写 Java 测试类。

   创建 Java 类 FlywayTest，使用 Flyway 进行数据库迁移。请根据前提条件中获取的连接串修改代码中的数据库连接信息。

   ```java
   public class FlywayTest {
       public static void main(String[] args) {
           String url = "jdbc:mysql://host:port/dbName";
           String user = "username";
           String password = "password";
           Flyway flyway = Flyway.configure()
                   .dataSource(url, user, password)
                   .load();
           flyway.baseline();
           flyway.migrate();
       }
   }

   ```

   **参数说明：**

      - `host`：OB Cloud 云数据库连接地址。
      - `port`：OB Cloud 云数据库连接端口。
      - `dbName`：需要访问的数据库名称。
      - `username`：数据库账号名称。
      - `password`：账户密码。
 4. 执行测试。

   运行 FlywayTest 之后，可以在 OB Cloud 数据库中看到创建的 person 表及插入的数据。

   ![1](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/cloud/25V1/800.integration/flyway/1.png)

### Oracle 兼容模式租户

OB Cloud 的 Oracle 兼容模式租户要求 flyway-core 10.9.0 或更高版本，并需要使用 oceanbase-client、flyway-mysql 以及 flyway-database-oceanbase 组件。

#### 说明

可以在 [GitHub 仓库](https://github.com/oceanbase/ecology-plugins/releases/download/1.0/flyway-database-oceanbase-10.16.1.jar)获取 flyway-database-oceanbase 组件。

   ```xml
   <dependencies>
   <dependency>
       <groupId>org.flywaydb</groupId>
       <artifactId>flyway-core</artifactId>
       <version>10.9.0</version>
   </dependency>
   <dependency>
       <groupId>com.oceanbase</groupId>
       <artifactId>oceanbase-client</artifactId>
       <version>2.4.11</version>
   </dependency>
   <dependency>
       <groupId>org.flywaydb</groupId>
       <artifactId>flyway-mysql</artifactId>
       <version>10.7.0</version>
   </dependency>
   <dependency>
       <groupId>org.flywaydb</groupId>
       <artifactId>flyway-database-oceanbase</artifactId>
       <version>10.16.1</version>
       <scope>system</scope>
       <systemPath>/path/to/your/flyway-database-oceanbase-10.16.1.jar</systemPath>
   </dependency>
   </dependencies>

   ```java
   public class FlywayTest {
       public static void main(String[] args) {
           String url = "jdbc:oceanbase://host:port/";
           String user = "username";
           String password = "password";
           Flyway flyway = Flyway.configure()
           .dataSource(url, user, password)
           .load();
           flyway.baseline();
           flyway.migrate();
       }
   }

   ```

   **参数说明：**

      - `host`：OB Cloud 云数据库连接地址。
      - `port`：OB Cloud 云数据库连接端口。
      - `username`：数据库账号名称。
      - `password`：账户密码。
 4. 执行测试。

   ![2](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/cloud/25V1/800.integration/flyway/2.png)

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
