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

データベース

OceanBase CloudOceanBaseデータベース

データベース

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

OceanBaseデータベース

  • エコシステム統合の概要
  • ORMフレームワーク
    • Java
      • SpringBootサンプルプログラム
      • SpringBatchサンプルプログラム
      • Spring JDBCサンプルプログラム
      • SpringDataJPAサンプルプログラム
      • Hibernateサンプルプログラム
      • MyBatisサンプルプログラム
    • Python
      • SQLAlchemyによるOceanBaseデータベース接続サンプルプログラム
      • peeweeによるOceanBaseデータベース接続サンプルプログラム
      • Tortoise ORM による OceanBase データベース接続サンプルプログラム
    • Go
      • GORMサンプルプログラム
    • Rust
      • SeaORM による OceanBase データベース接続サンプルプログラム
    • Ruby
      • ActiveRecordによるOceanBaseデータベース接続サンプルプログラム
      • Sequel で OceanBase データベースに接続するサンプルプログラム
      • Ruby on RailsによるOceanBaseデータベース接続サンプルプログラム
    • Node.js
      • SequelizeでOceanBaseデータベースに接続する
      • TypeORMを使用してOceanBaseデータベースに接続する
      • Prismaを使用してOceanBaseデータベースに接続する
      • Drizzle ORMを使用してOceanBaseデータベースに接続する
    • C#
      • Dapperを使用してOceanBaseデータベースに接続する
      • SqlSugarを使用してOceanBaseデータベースに接続する
      • FreeSQLを使用してOceanBaseデータベースに接続する
    • PHP
      • Yii 2.0 ORMサンプルプログラム
      • Laravel Eloquent ORMサンプルプログラム
  • データベースのバージョン管理
    • Liquibaseを使用したOceanBaseデータベースのバージョンの管理
    • Flywayを使用してOceanBaseデータベースを統合し、バージョン管理を実現する
  • データ統合
    • dbtを使用したOceanBaseデータの分析
    • Flink DirectLoadを使用したOceanBaseのダイレクトインポート
    • SeaTunnelを使用したOceanBaseデータの読み取りと同期
    • Maxwellを使用したOceanBaseデータの読み取り
    • Debeziumを使用してOceanBaseに接続し、データを取得する
    • Spark Catalogを使用してOceanBaseデータベースに接続する
    • Apache NiFiを使用してOceanBaseデータベースと統合する
  • SQL開発
    • WebLogicを使用してOceanBaseデータベースに接続する
    • DBeaverを使用してOceanBaseデータベースに接続する
    • Navicatを使用してOceanBaseデータベースに接続する
    • DataGripでOceanBaseデータベースに接続する
    • TablePlusでOceanBaseデータベースに接続する
    • DMSを使用したOceanBaseデータベースの管理
  • 編成とスケジューリング
    • AirflowとOceanBaseデータベースの連携
    • PowerJobとOceanBaseデータベースの連携
    • DolphinSchedulerにOceanBaseデータソースを設定する
    • LinkisとOceanBaseデータベースの統合
  • 可視化ツール
    • SupersetとOceanBaseを使用したデータ分析
    • Power BIでOceanBaseに接続してデータを取得する
    • Quick BIでOceanBaseに接続してデータを取得する
    • Bytebaseを使用したOceanBaseインスタンスの管理
  • データベース管理
    • NineDataを使用したOceanBaseデータソースの管理
    • Bytebaseを使用したOceanBaseインスタンスの管理
  • AI
    • OpenAI
    • Qwen
    • OceanBaseデータベースとLangChainの統合
    • OceanBaseデータベースのベクトル検索機能とLlamaIndexの連携
    • OceanBaseデータベースのベクトル検索機能とDifyの連携
    • OceanBaseデータベースとn8nの連携
    • OceanBase MCP ServerとTraeの連携
    • OceanBaseデータベースとSpring AI Alibabaの連携
    • OceanBase MCP ServerとClineの連携
    • OceanBase MCP ServerとCursorの連携
    • OceanBase MCP ServerとContinueの連携
    • Google GenAI Toolboxを使用して独自のOceanBase MCP Serverを構築する
    • OceanBaseデータベースとCamelAIの連携
    • OceanBase VectorとFirecrawlの連携
    • OceanBase VectorとHugging Faceの連携
    • OceanBase VectorとOllamaの連携
    • OceanBaseデータベースとGoogle Geminiの連携
    • OceanBase VectorとCloudflare Workers AIの連携
    • OceanBase VectorとJina AIの連携
    • OceanBase MCP ServerとAugment Codeの連携
    • OceanBase MCP ServerとClaude Codeの連携
    • OceanBase MCP ServerとKiroの連携

PDF をダウンロード

ドキュメントフィードバック
  1. ドキュメントセンター
  2. OceanBaseデータベース
  3. master

Flywayを使用してOceanBaseデータベースを統合し、バージョン管理を実現する

最終更新:2026-10-10 03:12:37

Flywayを使用してOceanBaseデータベースを統合し、バージョン管理を実現する
前提条件
操作手順
ステップ1:データベース接続情報を取得する
ステップ2:統合設定

Flywayを使用してOceanBaseデータベースを統合し、バージョン管理を実現する

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

前提条件

OceanBaseデータベースがデプロイ済みで、ユーザーテナントが作成されていること。ユーザーテナントの作成の詳細情報については、テナントの作成を参照してください。

操作手順

ステップ1:データベース接続情報を取得する

OceanBaseデータベースのデプロイ担当者または管理者から、該当するデータベース接続文字列を取得します。例:

obclient -h$host -P$port -u$user_name -p$password -D$database_name

パラメータの説明:

  • $host:OceanBaseデータベースへの接続IPアドレスを提供します。OceanBaseデータベースプロキシ(OceanBase Database Proxy、ODP)接続方式はODPアドレスを使用し、直接接続方式はOBServerノードのIPアドレスを使用します。

  • $port:OceanBaseデータベースへの接続ポートを提供します。ODP接続方式のデフォルトポートは 2883 で、ODPデプロイ時にカスタマイズ可能です。直接接続方式のデフォルトポートは 2881 で、OceanBaseデータベースのデプロイ時にカスタマイズ可能です。

  • $database_name:アクセス対象のデータベース名。

    注意

    テナントに接続するユーザーは、データベースに対する CREATE、INSERT、DROP、および SELECT 権限が付与されていなければなりません。ユーザー権限の詳細については、MySQLモードの権限分類を参照してください。

  • $user_name:テナントの接続アカウント。ODP接続の一般的な形式:ユーザー名@テナント名#クラスタ名 または クラスタ名:テナント名:ユーザー名。直接接続方式の形式:ユーザー名@テナント名。

  • $password:アカウントのパスワード。

接続文字列の詳細については、OBClientを使用してOceanBaseテナントに接続するを参照してください。

ステップ2:統合設定

MySQL互換性モードテナント

OceanBaseデータベースのMySQL互換モードテナントは、flyway-core 10.0.0以降のバージョンを使用し、mysql-connector-javaおよびflyway-database-oceanbaseコンポーネントに依存することを推奨します。

より低いバージョンのFlywayについては、以下の表を参照してください:

OceanBaseデータベースのバージョン
Flywayのバージョン
備考
V4.2.5以降 <10.x OceanBaseデータベースのテクニカルサポートにお問い合わせください
V4.2.5以前 <9.x 対応なし
V4.2.5以前 9.x OceanBaseデータベースのテクニカルサポートにお問い合わせください
  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データベースへの接続アドレス。
    • port:OceanBaseデータベースへの接続ポート。
    • dbName:アクセス対象のデータベース名。
    • username:データベースのアカウント名。
    • password:アカウントパスワード。
  4. テストを実行します。

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

Oracle互換モードのテナント

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

説明

GitHubから flyway-database-oceanbase-10.16.1.jar をダウンロードできます。その他のバージョンは、OceanBaseデータベースのテクニカルサポートにお問い合わせください。

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

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

前のトピック

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

次のトピック

dbtを使用したOceanBaseデータの分析
次へ
このページの内容
Flywayを使用してOceanBaseデータベースを統合し、バージョン管理を実現する
前提条件
操作手順
ステップ1:データベース接続情報を取得する
ステップ2:統合設定