OceanBase
English日本語简体中文
ドキュメントホーム
製品
エコシステム
リリース

データベース

OceanBase CloudOceanBaseデータベース

データベース

OceanBase CloudOceanBaseデータベース
OceanBase CloudOceanBaseデータベース

OceanBase Cloud

  • エコシステム統合の概要
  • データベースバージョニング
    • Liquibaseを使用したOceanBaseデータベースのバージョン管理
    • Flywayを使用したOceanBase Cloudデータベースのバージョン管理
  • データ統合
    • Canalを使用したデータの同期
    • dbtを使用したOceanBaseデータの分析
    • Debezium
    • Flinkによるデータの同期
    • AWS Glueを使用したOceanBaseデータの移行
    • Informatica CloudとOceanBaseデータベースの連携ガイド
    • OceanBaseデータベースとKafkaの統合に関するベストプラクティス
    • Maxwell
    • SeaTunnel
    • DataWorks
    • Apache NiFiによるOceanBase Cloudの統合
  • SQL 開発
    • DataGripでOceanBase Cloudデータベースに接続する
    • DBeaverでOceanBase Cloudに接続する
    • NavicatでOceanBase Cloudに接続する
    • TablePlusでOceanBase Cloudデータベースに接続する
  • オーケストレーション
    • DolphinScheduler
    • LinkisとOceanBaseデータベースの連携
    • AirflowとOceanBaseデータベースの連携
  • 可視化
    • GrafanaでOceanBase Cloudの監視ダッシュボードデータを表示する
    • Power BIでOceanBase Cloudに接続してデータを取得する
    • Quick BIでOceanBase Cloudに接続する
    • SupersetとOceanBase Cloudを使用したデータ分析
    • TableauからOceanBase Cloudに接続する
  • オブザーバビリティ
    • Datadogを使用したOceanBase Cloudインスタンスの監視
    • Prometheusを使用したOceanBaseデータの監視
  • データベース管理
    • BytebaseによるOceanBaseインスタンスの管理
  • AI
    • OceanBase Cloud VectorとLlamaIndexの連携
    • OceanBase Cloud VectorとDifyの連携
    • OceanBase Cloud VectorとLangChainの連携
    • OceanBase Cloud VectorとQwenの連携
    • OceanBase Cloud VectorとOpenAIの連携
    • OceanBase Cloudとn8nの連携
    • OceanBase MCP ServerとTraeの連携
    • OceanBase Cloud VectorとSpring AI Alibabaの連携
    • OceanBase MCP ServerとClineの連携
    • OceanBase MCP ServerとCursorの連携
    • OceanBase MCP ServerとContinueの連携
    • Google GenAI ToolboxとOceanBase MCP Serverの統合
    • OceanBase Cloud VectorとCamelAIの連携
    • OceanBase Cloud VectorとFirecrawlの連携
    • OceanBase Cloud VectorとHugging Faceの連携
    • OceanBase Cloud VectorとOllamaの連携
    • OceanBase Cloud VectorとGoogle Geminiの連携
    • OceanBase Cloud VectorとCloudflare Workers AIの連携
    • OceanBase MCP ServerとQoderの連携
    • OceanBase MCP ServerとOpenCodeの連携
    • OceanBase MCP ServerとClaude Codeの連携
    • OceanBase MCP ServerとGitHub Copilotの連携
    • OceanBase MCP ServerとCodexの連携
    • OceanBase Cloud VectorとJina AIの連携
    • OceanBase MCP ServerとAugment Codeの連携
    • OceanBase MCP ServerとKiroの連携
  • 開発ツール
    • Cloudflare WorkersでOceanBase Cloudに接続する
    • VercelでOceanBase Cloudに接続する

PDF をダウンロード

ドキュメントフィードバック
  1. ドキュメントセンター
  2. OceanBase Cloud

Flywayを使用したOceanBase Cloudデータベースのバージョン管理

最終更新:2026-10-09 09:10:54

前提条件
統合設定
MySQL互換モードのテナント
Oracle互換モードのテナント

Flywayは、オープンソースのデータベースバージョン管理ツールであり、履歴テーブルを作成してデータベースの状態を追跡し、自動化された移行を実現します。本記事では、OceanBase CloudにFlywayを統合し、スキーマ変更の自動デプロイとバージョン追跡を実現する方法について説明します。

前提条件

  1. OceanBase Cloudアカウントを登録済みであり、クラスタインスタンスとテナント(MySQLまたはOracle互換モードのテナント)を作成していること。

  2. FlywayサーバーのIPアドレスがOceanBase Cloudインスタンスの許可リストに追加されていること。詳細については、テナントのホワイトリストグループの設定をご参照ください。

  3. OceanBase Cloudデータベースの接続文字列を取得していること。詳細については、接続文字列の取得(MySQL互換モードのテナント)および接続文字列の取得(Oracle互換モードのテナント)をご参照ください。

統合設定

MySQL互換モードのテナント

OceanBase CloudのMySQL互換モードのテナントでは、flyway-core 10.0.0以降のバージョンの使用を推奨し、mysql-connector-javaおよびflyway-database-oceanbaseコンポーネントに依存します。より古いバージョンのFlywayをサポートする必要がある場合は、以下の表を参照してください:

OceanBase バージョン
Flyway バージョン
備考
≥ 4.2.5 < 10.x OceanBase Cloudサポートチームにお問い合わせください
< 4.2.5 < 9.x 現在対応していません
9.x OceanBase Cloudサポートチームにお問い合わせください
  1. Maven依存関係の設定

    プロジェクトの pom.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 フォルダを作成し、その中に以下の2つのSQLファイルを作成します:

    • ファイル1:V1_1__create_person_table.sql

      CREATE TABLE person (
          id INT NOT NULL,
          name VARCHAR(20) NOT NULL
      );
      
    • ファイル2:V2_1__add_person_table.sql

      INSERT INTO person (id, name) 
      VALUES (1, 'apple');
      
  3. Javaテストクラスの作成

    JavaクラスFlywayTestを作成し、Flywayを使用してデータベース移行を行います。前提条件で取得した接続文字列に基づいて、コード内のデータベース接続情報を修正してください。

    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:OceanBase Cloudデータベースの接続アドレス。
    • port:OceanBase Cloudデータベースの接続ポート。
    • dbName:アクセスするデータベース名。
    • username:データベースアカウント名。
    • password:アカウントのパスワード。
  4. テストの実行

    FlywayTestを実行すると、OceanBase Cloudデータベースに作成されたpersonテーブルと挿入されたデータが確認できます。

Oracle互換モードのテナント

OceanBase CloudのOracle互換モードのテナントでは、flyway-core 10.9.0以降のバージョンが必要であり、oceanbase-client、flyway-mysql、およびflyway-database-oceanbaseコンポーネントを使用する必要があります。

説明

flyway-database-oceanbaseコンポーネントは、GitHubリポジトリから入手できます。

  1. Maven依存関係の設定

    プロジェクトの pom.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>
    
  2. 移行スクリプトを作成します。

    Mavenプロジェクトのresourcesディレクトリにdb/migrationフォルダを作成し、その中に以下の2つのSQLファイルを作成します:

    • ファイル1:V1_1__create_person_table.sql

      CREATE TABLE person (
          id INT NOT NULL,
          name VARCHAR(20) NOT NULL
      );
      
    • ファイル2:V2_1__add_person_table.sql

      INSERT INTO person (id, name) 
      VALUES (1, 'apple');
      
  3. Javaテストクラスを作成します。

    JavaクラスFlywayTestを作成し、Flywayを使用してデータベース移行を行います。前提条件で取得した接続文字列に基づいて、コード内のデータベース接続情報を変更してください。

    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:OceanBase Cloudの接続アドレス。
    • port:OceanBase Cloudの接続ポート。
    • username:データベースアカウント名。
    • password:アカウントのパスワード。
  4. テストを実行します。

    FlywayTestを実行すると、OceanBase Cloudデータベースに作成されたpersonテーブルと挿入されたデータが確認できます。

前のトピック

Liquibaseを使用したOceanBaseデータベースのバージョン管理
前へ

次のトピック

Canalを使用したデータの同期
次へ
このページの内容
前提条件
統合設定
MySQL互換モードのテナント
Oracle互換モードのテナント