3.2 Liquibaseを使用するための要件

Liquibase機能を使用するための2つの重要な側面は、Oracleデータベースにおけるオブジェクトの取得とデプロイです。

オブジェクトの取得

オブジェクトまたはスキーマを取得するには、Liquibaseプラグインが使用可能なSQLclが必要です。

このリリースでは、SQLclで接続しているスキーマからのみオブジェクトを取得できます。また、ファイルを保存するディレクトリに対する書込み権限も必要です。

スキーマ全体を取得する場合、接続先のユーザーに表を作成する権限が必要です。DATABASECHANGELOG_EXPORT表は、オブジェクトの詳細を収集して正しくソートするために内部的に作成されます。作成されたオブジェクトは、取得プロセスから自動的に除外され、取得の完了時に破棄されます。

オブジェクトのデプロイ

Liquibaseは、DATABASECHANGELOG表を使用して、実行された変更セットを追跡します。DATABASECHANGELOGLOCK表は、Liquibaseのインスタンスが確実に一度に1つのみ実行されているようにします。DATABASECHANGELOG_ACTIONS表は、オブジェクトの状態とデプロイメント中に実行されたSQL文を追跡します。

  • SQLcl

    SQLclを介してデータベースに変更をデプロイするには、表を作成する権限が必要です。デプロイする変更を介して任意のオブジェクト型を作成するには、必要な権限を持っている必要があります。

  • Liquibase

    Liquibaseを直接使用して変更セットをデプロイする場合、次のものが必要です。

    • Liquibase環境にインストールされている拡張機能。sqlcl/libおよびsqlcl/lib/extフォルダの次のjarファイルをliquibase/libフォルダに追加します。
      • dbtools-liquibase.jar
      • dbtools-apex.jar
      • guava-with-lf.jar
      • xmlparserv2_sans_jaxp_services.jar
      • dbtools-common.jar
    • 表およびパッケージを作成する権限。
    • 次の行の追加によるプロパティ・ファイルの更新。
      change-exec-listener-class: liquibase.changelog.visitor.OracleActionChangeListener