3 Liquibaseの使用

この章では、SQLclのLiquibase機能について説明します。内容は次のとおりです。

3.1 SQLclでのLiquibaseについて

Liquibaseは、データベース・スキーマの変更を追跡、管理、および適用するための、データベースに依存しないオープンソースのライブラリです。

Liquibaseの主要な概念の理解については、主要な概念を参照してください。

ノート:

SQL Developerインストールの一部であるSQLclでは、Liquibaseは使用できません。この機能を使用するには、スタンドアロンのSQLclオファリングをダウンロードする必要があります。

SQLclのLiquibase機能により、コマンドを実行して、単一オブジェクトまたは完全なスキーマ(変更セットと変更ログ)の変更ログを生成できます。これらのオブジェクトは、SQLclを使用するか、従来のLiquibaseインタフェースを使用して手動で処理できます。

SQLclのLiquibase機能を使用すると、次のことができます。

  • 単一オブジェクトの変更ログを生成して実行する
  • オブジェクトの依存性を持つスキーマ変更セットを生成して実行する
  • 作成中に、オブジェクトの依存性に基づいて変更セットを自動的にソートする
  • 変更セットまたは変更ログの実行に関するすべてのSQL文を、生成時に記録する
  • 変更セットおよび変更ログの完全なロールバック・サポートを自動的に提供する

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

3.3 サポートされているタイプ

DDLタイプでは、作成構文または置換構文を使用します。変更を適用する前にオブジェクトのスナップショットが取得されるため、最後の既知の状態への自動ロールバックがサポートされます。

SXMLタイプは、自動ロールバック・サポートによる自動変更生成をサポートします。

DDLタイプには、独自の変更タイプがあります。

  • CONSTRAINT
  • DIMENSION
  • DIRECTORY
  • FUNCTION
  • JOB
  • OBJECT_GRANT
  • PACKAGE_BODY
  • PACKAGE_SPEC
  • PROCEDURE
  • PUBLIC_SYNONYM
  • REF_CONSTRAINT
  • SYNONYM
  • TRIGGER
  • TYPE BODY
  • TYPE SPEC

SXMLタイプは、SXML変更タイプを共有します。

  • AQ_QUEUE
  • AQ_QUEUE_TABLE
  • AQ_TRANSFORM
  • ASSOCIATION
  • AUDIT
  • AUDIT_OBJ
  • CLUSTER
  • CONTEXT
  • DB_LINK
  • DEFAULT_ROLE
  • FGA_POLICY
  • JOB
  • LIBRARY
  • MATERIALIZED_VIEW
  • MATERIALIZED_VIEW_LOG
  • OPERATOR
  • PROFILE
  • PROXY
  • REFRESH_GROUP
  • RESOURCE_COST
  • RLS_CONTEXT
  • RLS_GROUP
  • RMGR_CONSUMER_GROUP
  • RMGR_INTITIAL_CONSUMER_GROUP
  • RMGR_PLAN
  • RMGR_PLAN_DIRECTIVE
  • ROLE
  • ROLLBACK_SEGMENT
  • SEQUENCE
  • TABLE
  • TABLESPACE
  • TRIGGER XS_ACL
  • TRUSTED_DB_LINK
  • USER
  • VIEW
  • XMLSCHEMA
  • XS_ACL_PARAM INDEX
  • XS_DATA_SECURITY
  • XS_ROLE
  • XS_ROLESET
  • XS_ROLE_GRANT
  • XS_SECURITY_CLASS
  • XS_USER

3.4 SQLclでサポートされているLiquibaseコマンド

SQLclのLiquibaseコマンドは、liquibaseまたはlbを使用して起動できます。

SQLclリリース19.2で最初に起動されていたSQLcl Liquibaseコマンドは非推奨になりました。このリリースでは、Liquibaseによって導入された新しいコマンド形式と同期するようにSQLclプラグインが更新されています。

構文

Liquibase|lb COMMAND {OPTIONS}
Liquibase|lb  help|he [-example|-ex]
Liquibase|lb  help|he COMMAND [-syntax|-sy] [-example|-ex]

SQLclのLiquibaseのヘルプを表示するには、次のいずれかを入力します。

help Liquibase or lb
Liquibase or lb help

構文をすばやく表示し、その他の詳細を除外するには、次のように入力します。:

lb help -syntax

ヘルプ内の例のみを表示するには、次のように入力します。

lb help -example

<オプション>: 各Liquibaseコマンドのオプションのリストは、次の各項で説明します。

データベース差分コマンド

新しいコマンド 説明 非推奨のSQLclコマンド
diff 2つのデータベース間の差分の説明を標準出力に書き込みます。 diff
diff-changeLog 指定したデータベース間の差分を変更ログに追加します。サポートされている任意の変更ログ・フォーマットで追加できます。 -

データベース・ロールバック・コマンド

新しいコマンド 説明 非推奨のSQclコマンド
rollback タグが適用されたときの状態にデータベースをロールバックします。 rollback { -tag }
rollback-sql rollbackByTagコマンドを使用すると、RAW SQL Liquibaseを生成するヘルパー・コマンドが実行されます。 rollbacksql { -tag }
rollback-to-date データベースを、指定した日時にあった状態にロールバックします。 rolback { -date }
rollback-to-date-sql rollback-to-dateコマンドの使用中にSQL Liquibaseが実行されることを検査できるヘルパー・コマンドが実行されます。 rollbacksql { -date }
rollback-count 最後の<value>回の変更セットをロールバックします。 rollback { -count }
rollback-count-sql 最後の<value>回の変更セットをSTDOUTにロールバックするためのSQLを記述します。 rollbacksql { -count }
future-rollback-sql 変更ログの変更が適用された後、データベースを現在の状態にロールバックするためのSQLを記述します。 -
future-rollback-count-sql 未デプロイの変更セットに関連付けられた変更回数を順番に戻すためにLiquibaseが使用するSQLを生成します。この変更は、変更ログ・ファイルに追加されます。 -
future-rollback-from-tag-sql 指定したタグに加えられたすべての未デプロイの変更をロールバックする際に必要になるRAW SQL Liquibaseを生成します。 -

データベース・スナップショット・コマンド

新しいコマンド 説明 非推奨のSQLclコマンド
data データの変更ログを生成します。 -
generate-apex-object データベースからapexオブジェクトを生成します genobject { -apex }
generate-control-file 新しい変更ログの開始に使用できる空の制御ファイルを生成します。 -
generate-object データベースからデータベース・オブジェクトを生成します genobject
generate-ords-modulegenerate-ords-schema データベースからordsオブジェクトを生成します genobject { -ords }
generate-schema サポートされているすべてのオブジェクトをスキーマおよびコントローラ・ファイルに生成します。 genschema
generate-changelog Liquibaseを新しいプロジェクトに追加するときに、データベースから変更ログを生成します。これは、出力をXMLとして変更ログに保存することを除き、スナップショットと同義です。 -
snapshot 現在のデータベース・スキーマを収集し、その情報をSTDOUTに表示します。オプションを使用すると、スキーマをJSON形式で保存でき、JSONスナップショットは比較データベースとして機能できます。 -
update-to-tag-sql SQLコードLiquibaseが実行されることを検査するヘルパー・コマンドは、update-to-tag <tag>コマンドの使用時に実行されます。 -
snapshot-reference ソース・データベースであるreferenceURLデータベースの現在の状態を取得します。 -

データベース更新コマンド

新しいコマンド 説明 非推奨のSQLclコマンド
update データベースを現在のバージョンに更新します。 update
update-sql updateコマンドの使用時にLiquibaseが実行するSQLコードを検査できるヘルパー・コマンド。 updateSql
update-count 次の<value>回の変更セットを適用します。 -
update-count-sql 次の<value>回の変更セットをSTDOUTに適用するためのSQLを記述します。 -
update-testing-rollback データベースを更新し、変更をロールバックしてから再度更新します。 -
update-to-tag 最新の変更セットから、指定し、前に摘要したタグを含む変更セットに順次変更を適用します。 -
update-to-tag-sql SQLコードLiquibaseが実行されることを検査するヘルパー・コマンドは、update-to-tag <tag>コマンドの使用時に実行されます。 -

ドキュメント・コマンド

新しいコマンド 説明 非推奨のSQLclコマンド
db-doc 現在のデータベースおよび変更ログに基づいてJavadocのようなドキュメントを生成します。 dbdoc

メンテナンス・コマンド

新しいコマンド 説明 非推奨のSQLclコマンド
calculate-checksum 形式filepath::id::authorで指定したIDの変更セットのチェックサムを計算して出力します。 -
changelog-sync すべての変更をデータベースで実行済としてマークします。 -
changelog-sync-sql すべての変更をデータベースで実行済としてSTDOUTにマークするためのSQLを記述します。 changelogsync
changelog-sync-to-tag 変更ログから指定したタグまで、未デプロイの変更セットすべてをデータベースで実行済としてマークします。 -
changelog-sync-to-tag-sql changelog-sync-to-tagコマンドを使用して、指定したタグに関連付けられているすべての未デプロイの変更セットをデータベースで実行済としてマークするときにLiquibaseが実行するRAW SQLを生成します。 -
clear-checksums 現在のチェックサムをデータベースから削除します。次の更新では、デプロイされている変更セットについてはチェックサムが再計算され、デプロイされていない変更セットはデプロイされます。 clearchecksums
drop-all ユーザーが所有するすべてのデータベース・オブジェクトを削除します。 -
list-locks データベース変更ログを現在ロックしているユーザーをリストします。 listlocks
mark-next-changeset-ran 次の変更セットをデータベースで実行済としてマークします。 -
mark-next-changeset-ran-sql mark-next-changeset-ranコマンドの使用中にSQL Liquibaseが実行されることを検査します。 -
release-locks データベースの変更ログに対するロックをすべて解除します。 releaselocks
tag 将来のロールバックのために、現在のデータベースの状態をタグ付けします。 tag
tag-exists 指定したタグがすでに存在するかどうかをチェックします。 tagexists
unexpected-changesets データベースで実行されたが現在の変更ログに存在しない変更セットのリストを生成します。  
validate エラーがあるかどうか、変更ログを調べます。 validate

ステータス・コマンド

新しいコマンド 説明 非推奨のSQLclコマンド
history デプロイされたすべての変更セットとそのdeploymentIdsをリストします。 -
status デプロイされていない変更セットの数(--verboseの場合はリスト)を出力します。 -

3.4.1 calculate-checksum

形式filepath::id::authorで指定したIDの変更セットのチェックサムを計算して出力します。

構文

Liquibase|lb calculate-checksum|cac OPTIONS

通常、calculate-checksumコマンドは、変更セットの一意の識別子として機能するMD5チェックサムを計算するために使用されます。その結果、変更セットが変更されたかどうか、および異なる方法でデプロイする必要があるかどうかを確認できます。DATABASECHANGELOG表のMD5SUM列には変更セットのチェックサムが含まれ、変更セットで加えた変更によって異なるチェックサムが生成されます。

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
-changeset-identifier | -chi filepath::id::author形式の変更セットID識別子。 - --changesetIdentifier
オプション
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
--log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

変更セットのチェックサムを計算します。

SQL> lb calculate-checksum --changelog-file countries_table.xml --changeset-identifier
countries_table.xml::382e51cedfbfc7ba59568dd09dcd4e110b9fbeca::(USER)-Generated 
SQL> liquibase calculate-checksum changelog.oracle.sql::myID_123::Steve

3.4.2 changelog-sync

すべての変更をデータベースで実行済としてマークします。

構文

Liquibase|lb changelog-sync|chs OPTIONS

次の使用方法があります。

  • 新規ベースライン・データベースの作成。
  • データベースからのオブジェクトの除外。
  • 変更を実行済としてマーク。変更は手動で作成されています。

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
オプション
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。   --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

変更をデータベースで実行済としてマークします。

-- Set default output path
SQL> cd <output-files-path>
-- Connect to target and execute command
SQL> connect <db-connect-string>
SQL> lb changelog-sync -changelog-file countries_table.xml

3.4.3 changelog-sync-sql

changelogsyncの実行時にLiquibaseによって使用されるRAW SQLを出力します。

構文

Liquibase|lb changelog-sync-sql|chss

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
オプション
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。   --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-output-default-schema | -ouds デフォルト・スキーマ内のオブジェクトの名前を完全に修飾するかどうかを制御します。trueの場合、修飾します。falseの場合、デフォルト・スキーマ外のオブジェクトのみを完全修飾します。 False --outputDefaultSchema
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

データベースで実行済として変更をマークするためのSQLを生成します。

-- Set default output path
SQL> cd <output-files-path>
-- Connect to target and execute command
SQL> connect <db-connect-string>
SQL> lb changelog-sync-sql -changelog-file countries_table.xml -outputfile countries_synch.sql

3.4.4 changelog-sync-to-tag

変更ログ・ファイルの先頭からタグまで(タグを含む)、未デプロイのすべての変更セットを実行済としてマークします。

構文

Liquibase|lb changelog-sync-to-tag|chstt

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
オプション
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。   --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

タグまで(タグを含む)、変更をデータベースで実行済としてマークします。

cd <lb-changes-directory>
-- Edit changelog file and add tagDatabase entries for versions.
-- Execute command using a tag specified in tagDatabase in the changelog file.
SQL> lb changelog-sync-to-tag -tag version1 -changelog-file controller.xml

3.4.5 changelog-sync-to-tag-sql

changelogSyncToTagの実行時にLiquibaseによって使用されるRAW SQLを出力します。

構文

Liquibase|lb changelog-sync-to-tag-sql|chstts OPTIONS

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
-tag | -ta 汎用の'アクションの適用先のタグ' - -
オプション
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。   --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-output-default-schema | -ouds デフォルト・スキーマ内のオブジェクトの名前を完全に修飾するかどうかを制御します。trueの場合、修飾します。falseの場合、デフォルト・スキーマ外のオブジェクトのみを完全修飾します。 False --outputDefaultSchema
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

タグまで(タグを含む)、変更をデータベースで実行済としてマークします。

cd <lb-changes-directory>
-- Edit changelog file and add tagDatabase entries for versions.
-- Execute command using a tag specified in tagDatabase in the changelog file.
SQL> lb changelog-sync-to-tag-sql -tag version1 -changelog-file controller.xml -outputfile synch.sql

3.4.6 clear-checksums

すべてのチェックサムをクリアし、DATABASECHANGELOG表のMD5SUM列をNULLにし、次のデータベース更新で再計算されるようにします

構文

Liquibase|lb clear-checksums|clc OPTIONS

オプション

オプション 説明 デフォルト 非推奨
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。   --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

チェックサムをクリアします。

-- Connect to target and execute command.
SQL> connect <db-connect-string> 
SQL> clear-checksums

3.4.7 data

データの変更ログを生成します。すべてのオブジェクトから、またはフィルタが指定されたとおりに、データの変更ログを作成します。

構文

Liquibase|lb data|da OPTIONS

オプション

オプション 説明 デフォルト 非推奨
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-exclude-objects | -exo 差分から除外するオブジェクト。 - --excludeObjects
-include-objects | -ino 差分に含めるオブジェクト。 - --includeObjects
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。   --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-schemas | -sc 差分に含めるスキーマ。 - -
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

3.4.8 db-doc

既存のデータベースおよび変更ログのJavaDocドキュメントを生成します。

構文

 Liquibase|lb db-doc|dbd OPTIONS

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
-output-directory | -oud ドキュメントが生成されるディレクトリ。 - --outputDirectory
オプション
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。   --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

dbドキュメントを生成します。

-- Set default output path
SQL> cd <output-files-path>
-- Generate doc
SQL> lb db-doc -output-directory ./dbdoc -changelog-file controller.xml

3.4.9 diff

2つのデータベースを比較します。

構文

Liquibase|lb diff|di OPTIONS

オプション

オプション 説明 デフォルト 非推奨
必須
-reference-password | -rep 参照データベースのパスワード。 - --referencePassword
-reference-url | -reur JDBC参照データベース接続URL。 - --referenceUrl
-reference-username | -reu 参照データベース・ユーザー名。 - --referenceUsername
オプション
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-diff-types | -dit 比較するオブジェクトのタイプ catalogs、tables、views、columns、indexes、foreignkeys、primarykeys、uniqueconstraints、data、storedprocedures、sequences{catalogs| tables| views| columns| indexes| foreignkeys| primarykeys| uniqueconstraints| data| storedprocedures| sequences} --diffTypes
-exclude-objects | -exo 差分から除外するオブジェクト - --excludeObjects
-include-objects | -ino 差分に含めるオブジェクト - --includeObjects
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。   --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -

Compare two databases and spool output.
-- Set default output path
SQL> cd <output-files-path>
SQL> spool diff.sql
-- Connect to target database
SQL> connect <db-connect-string> 
-- Compare to a reference database
SQL> lb diff -reference-url <reference-db-url> -reference-username <reference-db-user> -reference-password <reference-db-password>
SQL> spool off

2つのデータベース間で表、索引およびビューを比較します。

-- Set default output path
SQL> cd <output-files-path>
SQL> spool diff.sql
-- Connect to comparison database
SQL> connect <db-connect-string> 
-- Compare to a reference database
SQL> lb diff -diff-types tables,indexes,views -reference-url <db-url> 
-reference-username <db-user> -reference-password <db-password>

3.4.10 diff-changeLog

2つのデータベースを比較して変更セットを生成し、変更ログ・ファイルに書き込みます。

構文

Liquibase|lb diff-changelog|dic OPTIONS

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
-reference-password | -rep 参照データベースのパスワード。 - --referencePassword
-reference-url | -reur JDBC参照データベース接続URL。 - --referenceUrl
-reference-username | -reu 参照データベース・ユーザー名。 - --referenceUsername
オプション
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-diff-types | -dit 比較するオブジェクトのタイプ catalogs、tables、views、columns、indexes、foreignkeys、primarykeys、uniqueconstraints、data、storedprocedures、sequences{catalogs| tables| views| columns| indexes| foreignkeys| primarykeys| uniqueconstraints| data| storedprocedures| sequences} --diffTypes
-exclude-objects | -exo 差分から除外するオブジェクト - --excludeObjects
-include-objects | -ino 差分に含めるオブジェクト - --includeObjects
-include-schema | -ins trueの場合、スキーマは生成されたchangeSetsに含まれます。 False --includeSchema
-include-tablespace | -int 変更ログに表領域属性を含めます。 False --includeTableSpace
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。   --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-reference-default-schema-name | -redsn データベース接続に使用する参照デフォルト・スキーマ名。 - --referenceDefaultSchemaName
-schemas | -sc 差分に含めるスキーマ - -
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

2つのデータベースを同期するための変更ログを作成します。

-- Set default output path
SQL> cd <output-files-path>
-- Connect to target database
SQL> connect <db-connect-string> 
-- Compare to a reference database and create a changelog to synchronize them
SQL> lb diff-changelog  -changelog-file diff.xml -reference-url <db-url> -reference-username <db-user> -reference-password <db-password>

2つのデータベース間で従業員を除外して表を同期する変更ログを作成します。

-- Set default output path
SQL> cd <output-files-path>
-- Connect to comparison database
SQL> connect <db-connect-string> 
-- Compare tables to a reference database
SQL> lb diff-changelog -changelog-file diff.xml -diffTypes=tables -exclude-objects employees -reference-url <db-url> 
-reference-username <db-user> -reference-password <db-password>

3.4.11 drop-all

ユーザーが所有するすべてのデータベース・オブジェクトを削除します。

構文

Liquibase|lb drop-all|dra

dropAllは、Liquibaseのコミュニティ・バージョンの関数、プロシージャまたはパッケージを削除しません。

関数、プロシージャ、パッケージおよびシノニムは、Liquibase Proでサポートされているオブジェクトに対してのみ削除できます。

dropAllは通常、別の環境スキーマと同一になるように環境スキーマを準備する必要がある場合に使用します。dropAllは、開発環境およびテスト環境で不要なオブジェクトを削除してデータベースを空にリセットする場合に便利です。

このコマンドを使用すると、手動でオブジェクトを削除したり、目的のスキーマを削除および再作成する場合と比較して、別のスキーマを容易に標準化できます。dropAllは、必要なオブジェクトの削除を防止するために本番環境で使用しないでください。

3.4.12 future-rollback-count-sql

指定した回数の未デプロイの変更を順番に戻すために使用されるSQLを生成します。

構文

Liquibase|lb future-rollback-count-sql|furcs OPTIONS

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
-count | -cu ロールバックする変更の数。 - -
オプション
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-output-default-schema | -ouds デフォルト・スキーマ内のオブジェクトの名前を完全に修飾するかどうかを制御します。trueの場合、修飾します。falseの場合、デフォルト・スキーマ外のオブジェクトのみを完全修飾します。 False --outputDefaultSchema
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

指定した回数の未デプロイの変更をロールバックするためのSQLを生成します。

-- Set default output path
SQL> cd <output-files-path>
-- Connect to target
SQL> connect <db-connect-string>
-- Generate SQL to roll back 1 undeployed change
SQL> lb future-rollback-count-sql -count 1 -changelog-file controller.xml

3.4.13 future-rollback-from-tag-sql

指定したタグまでの将来の未デプロイの変更を元に戻すためのSQLを生成します。

構文

 Liquibase|lb future-rollback-from-tag-sql|furfts OPTIONS

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
-tag | -ta 汎用の'アクションの適用先のタグ'。 - -
オプション
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-output-default-schema | -ouds デフォルト・スキーマ内のオブジェクトの名前を完全に修飾するかどうかを制御します。trueの場合、修飾します。falseの場合、デフォルト・スキーマ外のオブジェクトのみを完全修飾します。 False --outputDefaultSchema
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

タグに対する未デプロイの変更をロールバックするためのSQLを生成します。

-- Set default output path
SQL> cd <output-files-path>
-- Connect to target
SQL> connect <db-connect-string>
-- Generate SQL to roll back 1 undeployed change
SQL> lb future-rollback-count-sql -count 1 -changelog-file controller.xml
-- Edit changelog file and add tagDatabase entries for versions
-- Generate SQL to roll undeployed changes back to version1
SQL> lb future-rollback-from-tag-sql -tag version1 -changelog-file controller.xml

3.4.14 future-rollback-sql

未デプロイの将来の変更をロールバックするために必要なRAW SQLを生成します。

構文

Liquibase|lb future-rollback-sql|furs OPTIONS

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
オプション
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-output-default-schema | -ouds デフォルト・スキーマ内のオブジェクトの名前を完全に修飾するかどうかを制御します。trueの場合、修飾します。falseの場合、デフォルト・スキーマ外のオブジェクトのみを完全修飾します。 False --outputDefaultSchema
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

未デプロイの変更をロールバックするためのSQLを生成します。

-- Set default output path
SQL> cd <output-files-path>
-- Connect to target
SQL> connect <db-connect-string>
-- Generate SQL to roll back 1 undeployed change
SQL> lb future-rollback-count-sql -count 1 -changelog-file controller.xml
-- Generate SQL to rollback all undeployed changes
SQL> lb future-rollback-sql -changelog-file controller.xml

3.4.15 generate-apex-object

APEXオブジェクトの変更セットを生成します。

構文

Liquibase|lb generate-apex-object|geao OPTIONS

このコマンドは、カスタム拡張機能を使用します。

APEXオブジェクトのDDLを定義するXMLファイルが生成されます。

オプション

オプション 説明 デフォルト 非推奨
-debug | -de デバッグ出力を有効にします。 False -
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -

APEXオブジェクトを生成します。

-- Set default output path
SQL> cd <output-files-path>
-- Generate XML files
SQL> lb generate-apex-object

3.4.16 generate-changelog

データベースの現在の状態を標準出力またはファイルにコピーする(コアLiquibase機能を使用する)ように変更ログXMLを書き込みます。

構文

 Liquibase|lb generate-changelog|gec OPTIONS

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
オプション
-data-output-directory | -daod データを書き込むディレクトリ。 - --dataOutputDirectory
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-diff-types | -dit 比較するオブジェクトのタイプ catalogs、tables、views、columns、indexes、foreignkeys、primarykeys、uniqueconstraints、data、storedprocedures、sequences{catalogs| tables| views| columns| indexes| foreignkeys| primarykeys| uniqueconstraints| data| storedprocedures| sequences} --diffTypes
-exclude-objects | -exo 差分から除外するオブジェクト - --excludeObjects
-include-objects | -ino 差分に含めるオブジェクト - --includeObjects
-include-schema | -ins trueの場合、スキーマは生成されたchangeSetsに含まれます。 False --includeSchema
-include-tablespace | -int 変更ログに表領域属性を含めます。 False --includeTableSpace
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。   --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-output-default-schema | -ouds デフォルト・スキーマ内のオブジェクトの名前を完全に修飾するかどうかを制御します。trueの場合、修飾します。falseの場合、デフォルト・スキーマ外のオブジェクトのみを完全修飾します。 False --outputDefaultSchema
-overwrite-output-file | -ovof 出力変更ログ・ファイルの上書きを有効にするフラグ。 False --overwriteOutputFie
-schemas | -sc 差分に含めるスキーマ - -
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

データベースのXMLファイルを生成します。

-- Set default output path
SQL> cd <output-files-path>
-- Generate xml files
SQL> lb generate-changelog
データベース内の特定のスキーマのXMLファイルを生成します。
SQL> lb generate-changelog -schemas hr,sales

3.4.17 generate-control-file

新しい変更ログの開始に使用できる空の制御ファイルを生成します。

構文

Liquibase|lb generate-control-file OPTIONS

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
オプション
-debug | -de デバッグ出力を有効にします。 False -
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -

制御ファイルを生成します。

--Set default output path
SQL> cd <output-files-path>
SQL> lb generate-control-file

3.4.18 generate-object

データベース・オブジェクトの現在の状態をファイルにコピーするように変更ログXMLを書き込みます。

構文

lb generate-object OPTIONS

このコマンドは、カスタム拡張機能を使用します。指定したオブジェクトのDDLを定義するXMLファイルが生成されます。このファイルは、UPDATEコマンドを使用してデプロイするために使用されます。

オプション

オプション 説明 デフォルト 非推奨
-debug | -de デバッグ出力を有効にします False -
-fail-on-error | -foe 変更ログでfailonError属性をtrueに設定します。 False -
-log | -lo ロギングを有効にします False -
-object-name | -obn オブジェクト名。 - -
-object-type | -obt オブジェクトのタイプ。 - -
-output-default-schema | -ouds デフォルト・スキーマ内のオブジェクトの名前を完全に修飾するかどうかを制御します。trueの場合、修飾します。falseの場合、デフォルト・スキーマ外のオブジェクトのみを完全修飾します。 False --outputDefaultSchema
-replace | -re 変更ログでreplaceIfExists属性をtrueに設定します。 False -
-runalways | -ra 変更ログでrunAlways属性をtrueに設定します False -
-runonchange | -rc 変更ログでrunOnChange属性をtrueに設定します。 False -

特定のオブジェクトのXMLファイルを生成します。

-- Set default output path
SQL> cd <output-files-path>
-- Generate xml files
SQL> lb generate-object -object-type table -object-name employees

3.4.19 generate-ords-module

ORDS APIを使用してモジュールおよびすべての子を再作成するために必要なコードを生成します。

構文

Liquibase|lb generate-ords-module|geom OPTIONS

このコマンドは、カスタム拡張機能を使用します。生成されたスクリプトには、選択したモジュールに関連付けられたロールおよび権限が含まれます。

オプション

オプション 説明 デフォルト 非推奨
必須
-module-name | -mon コードを生成するモジュール名。 - -
オプション
-debug | -de デバッグ出力を有効にします。 False -
-include-enable-schema | -ines enable_schemaコールをエクスポートに含めるかどうかを指定します。 True -
-include-privs | -inp 権限をエクスポートに含めるかどうかを指定します。 True -

ORDSモジュール・オブジェクトを生成します。

-- Set default output path
SQL> cd <output-files-path>
-- Generate XML files
SQL> lb generate-ords-module

3.4.20 generate-ords-schema

ORDS APIを使用してすべてのモジュールおよび子を再作成するために必要なコードを生成します。

構文

Liquibase|lb generate-ords-schema|geos OPTIONS

生成されたスクリプトには、エクスポートされたモジュールに関連付けられたすべてのロールおよび権限が含まれます。

オプション

オプション 説明 デフォルト 非推奨
-debug | -de デバッグ出力を有効にします。 False -
-include-enable-schema | -ines enable_schemaコールをエクスポートに含めるかどうかを指定します True -
-include-privs | -inp 権限をエクスポートに含めるかどうかを指定します。 True -

3.4.21 generate-schema

データベースの現在の状態をファイルにコピーするように変更ログXMLを書き込みます。

構文

Liquibase|lb generate-schema|ges OPTIONS

このコマンドは、カスタム拡張機能を使用します。データベース内のオブジェクトごとにDDLを定義するXMLファイルが生成されます。コントローラXMLファイルが作成または更新され、生成された個々のXMLファイルが識別されます。これらのファイルは、UPDATEコマンドを使用してデプロイするために使用されます。

オプション

オプション 説明 デフォルト 非推奨
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前 DATABASECHANGELOG --databaseChangelogTableName
-debug | -de

{true|false}

デバッグ出力を有効にします。

False -
-fail-on-error | -foe

{true|false}

変更ログでfailonError属性をtrueに設定します。

False -
-filter | -fi フィルタ値は、SQL比較の右側、つまり、SQL比較演算子(=、!=、など)および比較対象値の右側にあります。比較対象値には、適切な場所にカッコと引用符を付ける必要があります。例: "IN ('DEPT'、'EMP')"フィルタ値がオブジェクト名に対応するオブジェクト属性と結合され、オブジェクトをフェッチする問合せのWHERE条件が作成されます。前述の例では、DEPTおよびEMPという名前のオブジェクトが取得されます。デフォルトでは、object_typeの名前付きオブジェクトがすべて選択されます。 - -
-grants | -gr

{true|false}

オブジェクト権限、システム権限およびロール権限をエクスポートします。

False -
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-log | -lo

{true|false}

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-replace | -re

{true|false}

変更ログでreplaceIfExists属性をtrueに設定します。

False -
-runalways | -ra

{true|false}

変更ログでrunAlways属性をtrueに設定します。

False -
-runonchange | -rc

{true|false}

変更ログでrunOnChange属性をtrueに設定します。

False  
-split | -sp

{true|false}

これにより、エクスポートによって、オブジェクト・タイプに基づいてファイルがディレクトリに分割されます。

False -
-sql | -sq

{true|false}

オブジェクトのDDLを示す変更ログでSQLファイルを生成します。このSQLは、確認専用です。

False -
-synonyms | -sy

{true|false}

パブリック・シノニムをエクスポートします。

False -

XMLファイルを別のディレクトリに生成します。

-- Set default output path
SQL> cd <output-files-path>
-- Generate xml files
SQL> lb generate-schema -split

特定のオブジェクト・タイプを含めるためのフィルタを使用してXMLファイルを生成します。

SQL> lb generate-schema -filter "IN ('DEPARTMENTS','EMPLOYEES')"

3.4.22 history

デプロイされたすべての変更セットおよびそのデプロイメントIDをリストします。

構文

Liquibase|lb history|hi OPTIONS

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
オプション
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
--log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

デプロイメント履歴を表示します。

-- Connect to target
SQL> connect <db-connect-string>
SQL> lb history

3.4.23 list-locks

Liquibaseロック・レコードのホスト名、IPアドレス、およびタイムスタンプをリストします。

構文

Liquibase|lb list-locks|lil OPTIONS

DATABASECHANGELOGLOCK表が読み取られ、接続に基づいてロックの詳細が表示されます。

オプション

オプション 説明 デフォルト 非推奨
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

3.4.24 mark-next-changeset-ran

次に適用した変更をデータベースで実行済としてマークします。

構文

Liquibase|lb mark-next-changeset-ran|mancr OPTIONS

mark-next-changeset-ranコマンドは、LiquibaseがLiquibaseの外部で行われた変更と同期されていないためにデプロイ・エラーが発生した場合に使用されます。

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
オプション
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

3.4.25 mark-next-changeset-ran-sql

適用する次の変更をデータベース内で実行済とマークするために使用されるSQLを記述します。

構文

Liquibase|lb mark-next-changeset-ran-sql|mancrs OPTIONS

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
オプション
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-output-default-schema | -ouds デフォルト・スキーマ内のオブジェクトの名前を完全に修飾するかどうかを制御します。trueの場合、修飾します。falseの場合、デフォルト・スキーマ外のオブジェクトのみを完全修飾します。 False --outputDefaultSchema
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

3.4.26 release-locks

DATABASECHANGELOG表からLiquibaseロック・レコードを削除します。

構文

Liquibase|lb release-locks|rel OPTIONS

オプション

オプション 説明 デフォルト 非推奨
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

3.4.27 rollback

指定したタグに基づいてデータベースに加えられた変更をロールバックします。

構文

Liquibase|lb rollback|rb OPTIONS

rollbackコマンドは、定義済のタグの後にデータベースに加えたすべての変更を元に戻すために使用されます。デプロイされたすべての変更は、DATABASECHANGELOG表のタグ行までロールバックされます。

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
-tag | -ta 汎用の'アクションの適用先のタグ'。 - -
オプション
-change-exec-listener-class | -chelc ChangeExecListenerを指定する完全修飾クラス。 - --changeExecListenerPropertiesFile
-change-exec-listener-properties-file | -chelpf ChangeExecListenerClassのプロパティ・ファイルへのパス。 - --changeExecListenerPropertiesFile
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-rollback-script | -ros 実行するスクリプトをロールバックします。 - -
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

変更をタグまでロールバックします。

-- Set default output path
SQL> cd <output-files-path>
-- Connect to target
SQL> connect <db-connect-string>
-- Apply update for versions adding new tag for each version
SQL> lb update -changelog-file controller.xml
SQL> lb tag -tag version1
SQL> lb update -changelog-file controller.xml
SQL> lb tag -tag version2
-- Roll back to version1
SQL> lb rollback-sql -tag version1 -changelog-file controller.xml

3.4.28 rollback-count

指定した回数のデータベースに加えた変更をロールバックします。

構文

Liquibase|lb rollback-count|rbc OPTIONS

rollback-countコマンドは、指定した回数のデータベース変更を、直近の変更から元に戻すために使用されます。

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
-count | -cu 適用する変更の数。 - -
オプション
-change-exec-listener-class | -chelc ChangeExecListenerを指定する完全修飾クラス。 - --changeExecListenerPropertiesFile
-change-exec-listener-properties-file | -chelpf ChangeExecListenerClassのプロパティ・ファイルへのパス。 - --changeExecListenerPropertiesFile
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-rollback-script | -ros 実行するスクリプトをロールバックします。 - -
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

指定した回数の変更をロールバックします。

-- Set default output path
SQL> cd <output-files-path>
-- Connect to target
SQL> connect <db-connect-string>
-- Apply update for versions adding new tag for each version
SQL> lb update -changelog-file controller.xml
SQL> lb update -changelog-file controller.xml
-- Roll back to version1
SQL> lb rollback-count -count 1 -changelog-file controller.xml

3.4.29 rollback-count-sql

指定した回数の変更をロールバックするためのSQLを生成します。

構文

Liquibase|lb rollback-count-sql|rbcs OPTIONS

rollback-countコマンドは、指定した回数のデータベース変更を、直近の変更から元に戻すために使用されます。

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
-count | -cu 適用する変更の数。 - -
オプション
-change-exec-listener-class | -chelc ChangeExecListenerを指定する完全修飾クラス。 - --changeExecListenerPropertiesFile
-change-exec-listener-properties-file | -chelpf ChangeExecListenerClassのプロパティ・ファイルへのパス。 - --changeExecListenerPropertiesFile
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-output-default-schema | -ouds デフォルト・スキーマ内のオブジェクトの名前を完全に修飾するかどうかを制御します。trueの場合、修飾します。falseの場合、デフォルト・スキーマ外のオブジェクトのみを完全修飾します。 False --outputDefaultSchema
-output-file | -ouf 出力を書き込むファイルの名前。 - --outputFie
-rollback-script | -ros 実行するスクリプトをロールバックします。 - -
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

指定した回数の変更をロールバックするためのSQLを生成します。

-- Set default output path
SQL> cd <output-files-path>
-- Connect to target
SQL> connect <db-connect-string>
-- Apply update for versions
SQL> lb update -changelog-file controller.xml
SQL> lb update -changelog-file controller.xml
-- Roll back to version1
SQL> lb rollback-count-sql -count1 -changelog-file controller.xml

3.4.30 rollback-sql

定義済タグの後にデータベースに加えられた変更をロールバックするためのSQLを生成します。

構文

Liquibase|lb rollback-sql|rbs OPTIONS

SQLには、DATABASECHANGELOG表のタグ行までロールバックされるデプロイ済の変更がすべて含まれます。

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
-tag | -ta 汎用の'アクションの適用先のタグ'。 - -
オプション
-change-exec-listener-class | -chelc ChangeExecListenerを指定する完全修飾クラス。 - --changeExecListenerPropertiesFile
-change-exec-listener-properties-file | -chelpf ChangeExecListenerClassのプロパティ・ファイルへのパス。 - --changeExecListenerPropertiesFile
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-output-default-schema | -ouds デフォルト・スキーマ内のオブジェクトの名前を完全に修飾するかどうかを制御します。trueの場合、修飾します。falseの場合、デフォルト・スキーマ外のオブジェクトのみを完全修飾します。 False --outputDefaultSchema
-output-file | -ouf 出力を書き込むファイルの名前。 - --outputFie
-rollback-script | -ros 実行するスクリプトをロールバックします。 - -
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

指定した回数の変更をロールバックするためのSQLを生成します。

-- Set default output path
SQL> cd <output-files-path>
-- Connect to target
SQL> connect <db-connect-string>
-- Apply update for versions adding new tag for each version
SQL> lb update -changelog-file controller.xml
SQL> lb tag -tag version1
SQL> lb update -changelog-file controller.xml
SQL> lb tag -tag version2
-- Roll back to version1
SQL> lb rollback-sql -tag version1 -changelog-file controller.xml

3.4.31 rollback-to-date

データベースに加えた変更を、指定した日時にロールバックします。

構文

Liquibase|lb rollback-to-date|rbtd OPTIONS

rollback-to-dateコマンドは、変更を今日の日付から指定した日時に戻すために使用されます。

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
-date | -da [ 適用する変更を決定する際に使用する日付。日付書式はYYYY-MM-DD HH:MM:SSです。時間を含める場合は、日付/時間全体を二重引用符で囲みます。 - -
オプション
-change-exec-listener-class | -chelc ChangeExecListenerを指定する完全修飾クラス。 - --changeExecListenerPropertiesFile
-change-exec-listener-properties-file | -chelpf ChangeExecListenerClassのプロパティ・ファイルへのパス。 - --changeExecListenerPropertiesFile
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-rollback-script | -ros 実行するスクリプトをロールバックします。 - -
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

指定した日時にロールバックします。

-- Set default output path
SQL> cd <output-files-path>
-- Connect to target
SQL> connect <db-connect-string>
-- Apply update update on 2022-09-01
SQL> lb update -changelog-file controller.xml
-- Apply update on 2022-09-02
SQL> lb update -changelog-file controller.xml
-- Apply update on 2022-09-03
SQL> lb update -changelog-file controller.xml
-- Roll back to version1
SQL> lb rollback-to-date -date 2022-09-02 -changelog-file controller.xml

3.4.32 rollback-to-date-sql

データベースに加えた変更を指定した日時までロールバックするためのSQLを生成します。

構文

Liquibase|lb rollback-to-date-sql|rbtds OPTIONS

rollback-to-date-sqlコマンドは、変更を今日の日付から指定した日時に戻すためのSQLの生成に使用されます。

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
-date | -da [ 適用する変更を決定する際に使用する日付。日付書式はYYYY-MM-DD HH:MM:SSです。時間を含める場合は、日付/時間全体を二重引用符で囲みます。 - -
オプション
-change-exec-listener-class | -chelc ChangeExecListenerを指定する完全修飾クラス。 - --changeExecListenerPropertiesFile
-change-exec-listener-properties-file | -chelpf ChangeExecListenerClassのプロパティ・ファイルへのパス。 - --changeExecListenerPropertiesFile
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-output-default-schema | -ouds デフォルト・スキーマ内のオブジェクトの名前を完全に修飾するかどうかを制御します。trueの場合、修飾します。falseの場合、デフォルト・スキーマ外のオブジェクトのみを完全修飾します。 False --outputDefaultSchema
-output-file | -ouf 出力を書き込むファイルの名前。 - --outputFie
-rollback-script | -ros 実行するスクリプトをロールバックします。 - -
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

指定した日付をロールバックするためのSQLを生成します。

-- Set default output path
SQL> cd <output-files-path>
-- Connect to target
SQL> connect <db-connect-string>
-- Apply update on 2022-09-01
SQL> lb update -changelog-file controller.xml
-- Apply update on 2022-09-02
SQL> lb update -changelog-file controller.xml
-- Apply update on 2022-09-03
SQL> lb update -changelog-file controller.xml
-- Roll back to version1
SQL> lb rollback-to-date-sql -date 2022-09-02 -changelog-file controller.xml

3.4.33 snapshot

ターゲット・データベースの現在の状態を取得します。

構文

Liquibase|lb snapshot|sn OPTIONS

スナップショット・コマンドは、次の目的で使用されます。

  • ターゲット・データベースの変更を確認および追跡します
  • 以前のデータベース状態とオンライン・データベースを比較します
  • 以前のデータベース状態を別のスナップショットと比較します

オプション

オプション 説明 デフォルト 非推奨
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-output-file | -ouf 出力を書き込むファイルの名前。 - --outputFile
-schemas | -sc 差分に含めるスキーマ。 - -
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing
-snapshot-format | -snf 使用する出力形式(JSON、YAMLまたはTXT) - --snapshotFormat

データベースの現在の状態を取得するスナップショットを生成します。

-- Set default output path
SQL> cd <output-files-path>
-- Connect to target
SQL> connect <db-connect-string>
-- Take a snapshot
SQL> lb snapshot -snapshot-format json -outputfile snaptgt20220901.json

3.4.34 snapshot-reference

参照ソース・データベースの現在の状態を取得します。

構文

Liquibase|lb snapshot-reference|snr OPTIONS

スナップショット・コマンドは、次の目的で使用されます。

  • ソース・データベースの変更を確認および追跡します
  • 以前のデータベース状態とオンライン・データベースを比較します
  • 以前のデータベース状態を別のスナップショットと比較します

オプション

オプション 説明 デフォルト 非推奨
必須
-reference-password | -rep 参照データベースのパスワード。 - --referencePassword
-reference-url | -reur JDBC参照データベース接続URL。 - --referenceUrl
-reference-username | -reu 参照データベース・ユーザー名。 - --referenceUsername
オプション
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-output-file | -ouf 出力を書き込むファイルの名前。 - --outputFile
-reference-default-schema-name | -redsn データベース接続に使用する参照デフォルト・スキーマ名。 - --referenceDefaultSchemaName
-schemas | -sc 差分に含めるスキーマ。 - -
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing
-snapshot-format | -snf 使用する出力形式(JSON、YAMLまたはTXT) - --snapshotFormat

データベースの現在の状態を取得するスナップショットを生成します。

-- Set default output path
SQL> cd <output-files-path>
-- Connect to target
SQL> connect <db-connect-string>
-- Take a snapshot
SQL> lb snapshot-reference -snapshot-format json -outputfile snaptgt20220901.json 
-reference-url <source-url> -reference-username <source-user> -reference-password <source-password>

3.4.35 status

保留中の変更セットのリストを生成します。

構文

Liquibase|lb status|st OPTIONS

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
オプション
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing
-verbose | -ve Verboseフラグ True -

未デプロイの変更セットの回数を報告し、それらを識別します。

-- Set default output path
SQL> cd <output-files-path>
-- Check the status
SQL> lb status -verbose -changelog-file controller.xml

3.4.36 tag

現在のデータベースの状態を、ロールバックに使用する指定したタグでマークします。

構文

Liquibase|lb tag|ta OPTIONS

たとえば、タグを使用して、現在のデータベースの状態をバージョン、リリースなどとしてマークできます。タグは、DATABASECHANGELOG表の最後の行に追加されます。

オプション

オプション 説明 デフォルト 非推奨
必須
-tag | -ta 汎用の'アクションの適用先のタグ'。 - --changelogFile
オプション
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

初期タグおよびバージョン・タグを作成します。

-- Set default output path
SQL> cd <output-files-path>
-- Connect to target and add base tag
SQL> connect <db-connect-string>
SQL> lb tag -tag baseversion1
-- Apply update for version adding and add new tag for each version
SQL> lb update -changelog-file controller.xml
SQL> lb tag -tag version1

3.4.37 tag-exists

指定したタグが存在することを確認します。

構文

Liquibase|lb tag-exists|tae OPTIONS

オプション

オプション 説明 デフォルト 非推奨
必須
-tag | -ta 汎用の'アクションの適用先のタグ'。 - --changelogFile
オプション
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

3.4.38 unexpected-changesets

実行済だが現在の変更ログに含まれない変更セットのリストを生成します。

構文

Liquibase|lb unexpected-changesets|unc OPTIONS

このコマンドは、DATABASECHANGELOG表と現在の変更ログおよびレポート間の変更を検出して比較します。

  • 現在の変更ログに存在しないDATABASECHANGELOG表の変更セット。
  • 現在の変更ログから削除された、以前にデプロイされた変更セット。

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
オプション
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing
-verbose | -ve Verboseフラグ True -

予期しない変更セットをレポートします。

-- Set default output path
SQL> cd <output-files-path>
-- Connect to target and run command
SQL> connect <db-connect-string>
SQL> lb unexpected-changesets -changelog-file controller.xml

3.4.39 update

デプロイされていない変更ログ・ファイル内の変更をデプロイします。

構文

Liquibase|lb update|up OPTIONS

updateコマンドを実行すると、変更ログ・ファイル内の変更セットが順番に読み取られます。ファイルの一意の識別子(file::id::author)が、DATABASECHANGELOG表に格納されている識別子と比較されます。

  • 一意の識別子が存在しない場合、Liquibaseは変更セットをデータベースに適用します。
  • 一意の識別子が存在する場合、変更セットのMD5Sumがデータベース内の識別子と比較されます。

    それらが異なる場合、Liquibaseは、予期せず変更されたことを示すエラー・メッセージを生成します。

    runOnChangeまたはrunAlways変更セット属性のステータスがTRUEに設定されている場合、Liquibaseは変更セットを再適用します。例: <changeSet id="2" author="bob" runAlways="true">

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
オプション
-change-exec-listener-class | -chelc ChangeExecListenerを指定する完全修飾クラス。 - --changeExecListenerPropertiesFile
-change-exec-listener-properties-file | -chelpf ChangeExecListenerClassのプロパティ・ファイルへのパス。 - --changeExecListenerPropertiesFile
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

3.4.40 update-count

指定した回数の変更を変更ログ・ファイルからデプロイします。

構文

Liquibase|lb update-count|upc OPTIONS

update-countコマンドは変更を適用し、指定した数に達するまで変更ログ・ファイルの先頭から変更セットを順番に更新します。

  • 一意の識別子が存在しない場合、Liquibaseは変更セットをデータベースに適用します。
  • 一意の識別子が存在する場合、変更セットのMD5Sumがデータベース内の識別子と比較されます。

    それらが異なる場合、Liquibaseは、予期せず変更されたことを示すエラー・メッセージを生成します。

    runOnChangeまたはrunAlways変更セット属性のステータスがTRUEに設定されている場合、Liquibaseは変更セットを再適用します。例: <changeSet id="2" author="bob" runAlways="true">

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
-count | -cu 適用する変更の数。 - -
オプション
-change-exec-listener-class | -chelc ChangeExecListenerを指定する完全修飾クラス。 - --changeExecListenerPropertiesFile
-change-exec-listener-properties-file | -chelpf ChangeExecListenerClassのプロパティ・ファイルへのパス。 - --changeExecListenerPropertiesFile
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

変更ログ・ファイルで指定した回数の変更セットを使用してデータベースを更新します。

SQL> cd <lb-changes-directory>
SQL> lb update -changelog-file controller.xml -count 2

3.4.41 update-count-sql

updateコマンドを実行する前の確認用に指定した回数の変更をデプロイするためのSQLを生成します。

構文

Liquibase|lb update-count-sql|upcs OPTIONS

Liquibaseでは、RAW SQLを使用して、変更ログ・ファイルに追加したデータベース変更を適用します。

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
-count | -cu 適用する変更の数。 - -
オプション
-change-exec-listener-class | -chelc ChangeExecListenerを指定する完全修飾クラス。 - --changeExecListenerPropertiesFile
-change-exec-listener-properties-file | -chelpf ChangeExecListenerClassのプロパティ・ファイルへのパス。 - --changeExecListenerPropertiesFile
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-output-default-schema | -ouds デフォルト・スキーマ内のオブジェクトの名前を完全に修飾するかどうかを制御します。trueの場合、修飾します。falseの場合、デフォルト・スキーマ外のオブジェクトのみを完全修飾します。 False --outputDefaultSchema
-output-file | -ouf 出力を書き込むファイルの名前。 - --outputFie
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

3.4.42 update-sql

updateコマンドを実行する前の確認用に変更ログで特定されたSQLを生成します。

構文

Liquibase|lb update-sql|ups OPTIONS

Liquibaseでは、RAW SQLを使用して、変更ログ・ファイルに追加したデータベース変更を適用します。

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
オプション
-change-exec-listener-class | -chelc ChangeExecListenerを指定する完全修飾クラス。 - --changeExecListenerPropertiesFile
-change-exec-listener-properties-file | -chelpf ChangeExecListenerClassのプロパティ・ファイルへのパス。 - --changeExecListenerPropertiesFile
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-output-default-schema | -ouds デフォルト・スキーマ内のオブジェクトの名前を完全に修飾するかどうかを制御します。trueの場合、修飾します。falseの場合、デフォルト・スキーマ外のオブジェクトのみを完全修飾します。 False --outputDefaultSchema
-output-file | -ouf 出力を書き込むファイルの名前。 - --outputFie
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

3.4.43 update-testing-rollback

データベースを更新し、変更をロールバックしてから再度更新します。ロールバック機能のテストを提供します。

構文

Liquibase|lb update-testing-rollback|uptr OPTIONS

すべての保留中の変更ログがデプロイ準備完了として検証された場合にのみ使用します。

複数ステップの操作が使用され、次の順序で実行されます。
update changeset1; update changeset2; update changeset3\
rollback changeset3; rollback changeset2; rollback changeset1
update changeset1; update changeset2; update changeset3

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
オプション
-change-exec-listener-class | -chelc ChangeExecListenerを指定する完全修飾クラス。 - --changeExecListenerPropertiesFile
-change-exec-listener-properties-file | -chelpf ChangeExecListenerClassのプロパティ・ファイルへのパス。 - --changeExecListenerPropertiesFile
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-output-default-schema | -ouds デフォルト・スキーマ内のオブジェクトの名前を完全に修飾するかどうかを制御します。trueの場合、修飾します。falseの場合、デフォルト・スキーマ外のオブジェクトのみを完全修飾します。 False --outputDefaultSchema
-output-file | -ouf 出力を書き込むファイルの名前。 - --outputFie
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

3.4.44 update-to-tag

最新の変更セットから、指定タグを含む変更セットまで(変更セットを含む)、変更を順次デプロイします。

構文

Liquibase|lb update-to-tag|uptt OPTIONS

update-to-tagコマンドは、変更ログ・ファイルに以前にタグのデータベース変更タイプを追加した場合にのみ、変更をデプロイします。tagコマンドを使用してDATABASECHANGELOG表に作成されたタグへの参照とともにupdate-to-tagコマンドを使用することはできません。update-to-tag-sqlは常に、update-to-tagを実行する前にSQLを確認するために実行します。

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
-tag | -ta 汎用の'アクションの適用先のタグ'。 - -
オプション
-change-exec-listener-class | -chelc ChangeExecListenerを指定する完全修飾クラス。 - --changeExecListenerPropertiesFile
-change-exec-listener-properties-file | -chelpf ChangeExecListenerClassのプロパティ・ファイルへのパス。 - --changeExecListenerPropertiesFile
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

指定したデータベース・タグを持つ変更セットまで(変更セットを含む)、変更セットでデータベースを更新します。

SQL> cd <lb-changes-directory>
-- Edit changelog file and add tagDatabase entries for versions
-- Execute an update-to-tag using a tag specified in tagDatabase in the changelog file
SQL> lb update-to-tag -tag version1 -changelog-file controller.xml

3.4.45 update-to-tag-sql

最新の変更セットから、指定タグを含む変更セットまで(変更セットを含む)、SQLを生成します。

構文

Liquibase|lb update-to-tag-sql|uptts OPTIONS

update-to-tag-sqlは常に、update-to-tagを実行する前にSQLを確認するために実行する必要があります。update-to-tag-SQLコマンドは、以前に変更ログ・ファイルにタグのデータベース変更タイプを追加したときにSQLを生成します。tag cdeコマンドを使用してDATABASECHANGELOG表に作成されたタグへの参照とともにupdate-to-tagコマンドを使用することはできません。

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
-tag | -ta 汎用の'アクションの適用先のタグ'。 - -
オプション
-change-exec-listener-class | -chelc ChangeExecListenerを指定する完全修飾クラス。 - --changeExecListenerPropertiesFile
-change-exec-listener-properties-file | -chelpf ChangeExecListenerClassのプロパティ・ファイルへのパス。 - --changeExecListenerPropertiesFile
-contexts | -co 処理対象の変更のフィルタに使用するコンテキスト文字列。 - -
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-labels | -la 処理対象の変更のフィルタに使用するラベル式。 - -
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-output-default-schema | -ouds デフォルト・スキーマ内のオブジェクトの名前を完全に修飾するかどうかを制御します。trueの場合、修飾します。falseの場合、デフォルト・スキーマ外のオブジェクトのみを完全修飾します。 False --outputDefaultSchema
-output-file | -ouf 出力を書き込むファイルの名前。 - --outputFie
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

指定したデータベース・タグを持つ変更セットまで(変更セットを含む)、変更セットでデータベースを更新します。

SQL> cd <lb-changes-directory>
-- Edit changelog file and add tagDatabase entries for version1
SQL> lb update-to-tag-sql -tag version1 -changelog-file controller.xml

3.4.46 validate

UPDATEの失敗の原因になる可能性のあるエラーがないか変更ログを検証します。

構文

Liquibase|lb validate|va OPTIONS

次のチェックが実行されます。

  • XML、YAML、JSONおよびSQL構造
  • 参照されているファイルが存在すること
  • 必須または禁止の属性がデータベースに対して正しいこと
  • 重複したID、作成者およびファイルの組合せ
  • チェックサム・エラー

オプション

オプション 説明 デフォルト 非推奨
必須
-changelog-file | -chf ルート変更ログ・ファイル。 - --changelogFile
オプション
-database-changelog-table-name | -dactn 変更履歴の追跡に使用する表の名前。 - --databaseChangelogTableName
-debug | -de デバッグ出力を有効にします。 False -
-default-schema-name | -desn データベース接続に使用するデフォルトのスキーマ名。 - --defaultSchemaName
-liquibase-schema-name | -lbsn Liquibaseオブジェクトに使用するスキーマ。 - --liquibaseSchemaName
-liquibase-tablespace-name | -lbtn Liquibaseオブジェクトに使用する表領域。 - --liquibaseTablespaceName
-log | -lo

ロギングを有効にします。

標準ロギングはINFOレベルです(デバッグ・フラグなし)。

デバッグ・ロギングはFINESTレベル(ログとデバッグ・フラグの両方)です。

False -
-search-path | -sep

変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。

カンマで区切って複数のパスを指定できます。

- --searchPath
-secure-parsing | -scp

trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。

例として、リモートXMLエンティティ・サポートを無効にします。

- --secureParsing

UPDATEを実行する前に検証します。

-- Set default output path
SQL> cd <output-files-path>
-- Connect to target and validate
SQL> connect <db-connect-string>
SQL> lb validate -changelog-file controller.xml

3.4.47 version

バージョン情報を表示します。

構文

Liquibase|lb version|ve

3.5 オープンソースのLiquibaseでのSQLcl Liquibase機能の使用

Oracle Databaseを使用したSQLcl Liquibaseは、vanilla Liquibaseクライアントと比較してLiquibaseエクスペリエンスに拡張された機能を提供します。これには、LiquibaseコマンドおよびSQLcl専用Liquibaseコマンドを使用して動的に表を変更することが含まれます。たとえば、次の特殊なスナップショットを生成します。

  • 包括的なスキーマ(generate-schema)
  • Oracle REST Data Service (ORDS)オブジェクト(generate-ords-moduleおよびgenerate-ords-schema)
  • Oracle APEXオブジェクト(generate-apex)

デフォルトでは、Liquibaseクライアントにこの拡張機能が含まれておらず、SQLcl Liquibaseによって生成された特殊な変更ログを読み取ることができません。

SQLclから特定のjarファイルをコピーし、Liquibaseプロパティ・ファイルを更新することで、これらの特殊な変更ログを読み取る機能をLiquibaseクライアントに追加できます。これを行う手順は、次の例を使用して説明します。

  1. Oracle Databaseに接続し、SQLclコマンドライン・インタフェースを起動します。サンプル・データベースには、表示できるサンプル表がいくつかあります。

    SQL> select table_name from user_tables;
    
    TABLE_NAME
    _____________
    REGIONS
    LOCATIONS
    DEPARTMENTS
    JOBS
    EMPLOYEES
    JOB_HISTORY
    COUNTRIES
    
    7 rows selected.
    
  2. Fruitsを作成します。これは追跡するサンプル表として機能します。

    SQL> create table fruits (id number(1,0), type varchar2(50), price number, constraint fruits_pk primary key (id));
    
    Table FRUITS created.

    表がサンプル表のリストに追加されます。

    SQL> select table_name from user_tables;
    
    TABLE_NAME
    _____________
    REGIONS
    LOCATIONS
    DEPARTMENTS
    JOBS
    EMPLOYEES
    JOB_HISTORY
    FRUITS
    COUNTRIES
    
    8 rows selected.
    
  3. Fruits表の変更ログを生成します。

    SQL> lb generate-object -object-type table -object-name fruits;
    
    --Starting Liquibase at 13:43:52 (version 4.15.0 #0 built at 2022-08-19 14:45+000)
    
    Changelog created and written to file fruits_table.xml
    
    Operation completed successfully.
  4. Fruits表を削除して、作成した変更ログで生成するテストを実行できるようにします。

    SQL> drop table fruits;
    
    SQL> select table_name from user_tables; 
    
    TABLE_NAME
    _____________
    REGIONS
    LOCATIONS
    DEPARTMENTS
    JOBS
    EMPLOYEES
    JOB_HISTORY
    COUNTRIES
    
    7 rows selected.
    
  5. LiquibaseのWebサイトからダウンロードできる、vanilla Liquibaseオープンソースのコマンドライン・クライアントに切り替えます。

  6. vanilla LiquibaseクライアントのSQLclで接続しているOracle Databaseの資格証明を指定する必要があります。空白のテキスト・ファイルからliquibase.propertiesファイルを作成します。この例では、WindowsシステムのC:\Users\ [username]フォルダにliquibase.propertiesファイルが作成されます。次の図に、この例で使用されているプロパティ・ファイルを示します。Liquibaseのデータベース資格証明の指定の詳細は、接続プロファイルでのプロパティの指定を参照してください。

    プロパティ・ファイル
  7. SQLcl binフォルダから以前に作成したfruits_table.xml変更ログ・ファイルをコピーして、liquibase.propertiesファイルのフォルダの場所(この場合はC:\Users\[username])に貼り付けます。変更ログ・ファイルを別の場所に保持するには、liquibase.propertiesファイルのchangelog-fileフィールドにファイルの場所へのパスを指定します。

  8. updateコマンドを実行します。

    >liquibase --changelog-file=fruits_table.xml update
    これはコード・スニペットです。

    SQLcl専用変更ログがvanilla Liquibaseクライアントでサポートされていない形式であるため、更新は失敗します。

    次のステップでは、変更ログを実行できるように、vanilla LiquibaseクライアントでSQLcl Liquibaseの変更ログを読み取る機能を追加します。

  9. SQLclフォルダのlibおよびlib/extフォルダから5つのjarファイルをコピーし、それらをvanilla Liquibaseクライアントのlibフォルダ(liquibase/lib)に追加します。

    • dbtools-liquibase.jar (sqlcl/lib/ext)
    • dbtools-apex.jar (sqlcl/lib/ext)
    • guava-with-lf.jar (sqlcl/lib)
    • xmlparserv2_sans_jaxp_services.jar (sqlcl/lib)
    • dbtools-common.jar (sqlcl/lib)
  10. 次の行を追加してliquibase.propertiesファイルを更新します。

    change-exec-listener-class: liquibase.changelog.visitor.OracleActionChangeListener
    プロパティ・ファイル

    これで、vanilla LiquibaseクライアントのSQLcl Liquibase変更ログを読み取ることができます。

  11. vanilla LiquibaseクライアントでSQL Liquibase変更ログを実行します。

    >liquibase update --changelog-file fruits_table.xml
    これはコード・スニペットです。

    SQLおよびデータベースに接続されている別のコマンドライン・ウィンドウで、表が正常に作成されたかどうかを確認できます。

    SQL> select table_name from user_tables;
    
    TABLE_NAME
    _____________
    REGIONS
    LOCATIONS
    DEPARTMENTS
    JOBS
    EMPLOYEES
    JOB_HISTORY
    COUNTRIES
    DATABASECHANGELOGLOCK
    DATABASECHANGELOG
    FRUITS
    COUNTRIES
    
    10 rows selected.
    

    この機能をvanilla Liquibaseクライアントに追加すると、Oracle Rest Data Services (ORDS)、Oracle APEX、完全なデータベース・スキーマなどの他の変更ログ・タイプの変更ログを、Oracle SQLclスクリプトで読み取ることもできます。

    これはコード・スニペットです。

3.6 SQLcl LiquibaseおよびDBMS_METADATA Oracle Databaseパッケージによる動的オブジェクト変換

Oracleには、データベース機能を拡張する多数のパッケージ(Oracle Databaseとともに自動的にインストールされる)が用意されています。これらのパッケージの1つであるDBMS_METADATAは、データベース・ディクショナリからメタデータをXMLまたはSQLデータ定義言語(DDL)文として取得し、XMLを発行してオブジェクトを再作成する方法を提供します。

Oracle SQLcl Liquibaseは、DBMS_METADATAパッケージを使用して、データベース・オブジェクトの状態を動的に変換する特殊な変更ログを生成および実行します。これは、Liquibaseオープンソース・クライアントでは使用できません。generate-schemaなどのSQLcl専用のLiquibaseコマンドを使用して、完全なOracleデータベース・スキーマを更新できます。これには、変更ログの仕様に従った、すでに存在する表およびその他のオブジェクトの変更が含まれます。オープンソースのLiquibaseで、既存の表を示す変更ログに対してupdateコマンドを実行すると、失敗します。これは、オープンソースのLiquibaseが既存のオブジェクトを変更できないためです。

generate-schemagenerate-objectなどのコマンドから生成されるSQLcl Liquibaseの特殊な変更ログでは、DBMS_METADATAパッケージのSXMLデータ形式を使用して、これらの動的更新を実行します。SXMLは、SQL DDLをXMLに直接変換するように見えるオブジェクト・メタデータのXML表現です。

この項では、いくつかの例を使用してこの概念を示します。この例では、Windowsベースのオペレーティング・システムが使用されています。

例1

SQLclリリース22.3でOracleデータベースに接続します。この例で紹介されている表には、いくつかのサンプル表が含まれています。この例で使用する表は、employeesとdepartmentsです。

SQL> select table_name from user_tables;

TABLE_NAME
_____________
REGIONS
LOCATIONS
DEPARTMENTS
JOBS
EMPLOYEES
JOB_HISTORY
HIRE_DATE
PERSON_COLLECTION
COUNTRIES

9 rows selected.
  1. SQLcl Liquibaseを使用して、データベース状態のスキーマを生成します。
    SQL> lb generate-schema
    これはコード・スニペットです。
  2. 別のコマンドライン・ウィンドウに切り替えて、オープンソースのLiquibaseクライアントを使用してデータベース状態の変更ログを生成します。generate-schemaは拡張機能を使用するSQLcl専用コマンドであるため、オープンソースのLiquibaseクライアントはgenerate-changelogコマンドを使用する必要があります。

    ノート:

    オープンソースのLiquibaseクライアントをLiquibase Webサイトからダウンロードできます。
    >liquibase --changelog-file=sql_test.xml generate-changelog
    これはコード・スニペットです。

    データベースの状態は、SQLcl LiquibaseとオープンソースのLiquibaseクライアントの両方で取得されるようになりました。

  3. SQLclコマンドライン・ウィンドウで、データベースにいくつか変更を加えます。
    SQL>alter table employees add height number;
    Table EMPLOYEES altered.
    
    SQL>alter table employees add mood varchar2(50);
    Table EMPLOYEES altered.
    
    SQL>alter table departments add happiness varchar2(50);
    Table DEPARTMENTS altered.
    データベース内のこれらの列の追加を表示します。
    SQL> select * from departments;
    SQL> select * from employees;
    これはコード・スニペットです。
  4. データベースを変更ログの状態に変更するには、Liquibase updateコマンドを使用する必要があります。これは、employeesおよびdepartments表に追加の列が追加されていないデータベースの状態です。

    これを行うには、SQLclに接続されておらず、オープンソースのLiquibaseクライアント・コマンドの実行に使用されたコマンドライン・ウィンドウで、次のコマンドを入力します。

    >liquibase --changelog-file=sql_test.xml update
    これはコード・スニペットです。

    Liquibaseが、表などのデータベース内にすでに存在するオブジェクトを検出したため、updateコマンドが失敗します。この標準バージョンのLiquibaseでは、これらのオブジェクトは動的に処理されません。

  5. SQLclコマンドライン・ウィンドウで、同じステップがSQLcl Liquibaseで繰り返されます。

    最初に、update-sqlコマンドを使用してスキーマの更新を完了するために使用されるSQLを確認します。

    SQL>lb update-sql -changelog-file controller.xml
    これはコード・スニペットです。

    出力を確認すると、departments表とemployees表が認識され、作成した追加の列を削除して変更ログの状態に戻す必要があることがわかります。

    これはコード・スニペットです。

    実際により複雑なユースケースでは、多くの場合、SQLのdropコマンドに関連するリスクがあります。update-sqlコマンドを使用してSQLコードを調べると、確認に役立ちます。その後、手動で変更セットを変更し、必要に応じてチェックできます。

    updateコマンドを実行すると、スキーマが正常に更新され、列が削除されます。

    SQL> lb update -changelog-file controller.xml
    --Starting Liquibase at 68:23:55 (version xml 4.15.0 #0 built at 2022-08-19 14:45+0000)
    
    -- Loaded 38 change(s)

例2

この例でも、同じ概念について説明し、今回は列と表を追加します。

この例では、データベース内の表Activitiesが、departments表の列Head_CountRetention、およびemployees表のAwardsとともにすでに作成されています。

これはコード・スニペットです。

変更ログが生成され、Activities表およびHead_countRetentionおよびcolumnsが削除されて、Liquibaseを使用してそれらを作成するように表示されます。

  1. SQLclでスキーマを生成します。

    ノート:

    前述の例の変更ログを別のフォルダに移動して、問題を回避します。
    SQL> lb generate-schema
    --Starting Liquibase at 09:33:52 (version 4.15.0 #0 built at 2022-08-19 14:45+0000)
  2. 別のコマンドライン・ウィンドウに切り替えて、オープンソースのLiquibaseクライアントでコマンドを実行します。ここで、変更ログも生成します。

    >liquibase --changelog-file=sql_test2.xml generate-changelog
    これはコード・スニペットです。
  3. SQLclコマンドライン・ウィンドウで、Activities表およびHead_countRetentionおよびAwards列を削除して、それらの作成をupdateコマンドで確認できるようにします。

    SQL> drop table activities;
    Table ACTIVITIES dropped.
    
    SQL> alter table employees drop column awards;
    Table EMPLOYEES altered.
    
    SQL> alter table departments drop column head_count;
    Table DEPARTMENTS altered.
    
    SQL> alter table departments drop column retention;
    Table DEPARTMENTS altered.
  4. オープンソースのLiquibaseコマンドライン・ウィンドウで、updateコマンドを実行します。

    > liquibase --changelog-file=sql_test2.xml update
    これはコード・スニペットです。

    Liquibaseが既存のオブジェクトを検出すると、更新は失敗します。

  5. SQLclコマンドライン・ウィンドウで、確認するためのSQLを生成し、SQLcl Liquibaseで更新を実行します。

    SQL>lb update-sql -changelog-file controller.xml
    これはコード・スニペットです。

    SQL出力で、Activities表の作成およびSQLcl LiquibaseがSQL文を生成したことに関するセクションを確認し、列を追加するためにDepartments表およびEmployees表を変更できます。

    これはコード・スニペットです。
  6. 更新を実行して、表および列が追加されていることを確認します。

    SQL> lb update -changelog-file controller.xml
    これはコード・スニペットです。
    SQL>select table_name from user_tables;
    SQL>select * from employees;
    SQL>select * from departments;
    
    SQL> select table_name from user_tables;
    
    TABLE_NAME
    _____________
    REGIONS
    LOCATIONS
    DEPARTMENTS
    JOBS
    EMPLOYEES
    JOB_HISTORY
    DATABASECHANGELOG_ACTIONS
    DATABASECHANGELOG
    ACTIVITIES
    COUNTRIES
    
    11 rows selected.
    
    これはコード・スニペットです。

3.7 SQLcl LiquibaseによるLiquibaseのオープンソースの変更セット

オープンソースのLiquibaseソリューションで生成された変更セットをSQLcl Liquibaseで使用できます。これにより、以前の変更管理プロジェクトをSQLclに引き継いで、Oracle Databaseでそれらを最適化できます。

次の例では、LiquibaseおよびSQLcl Liquibaseのオープンソース・ダウンロードで使用可能なH2データベースを使用してこれを示します。

  1. Liquibase Webサイトで使用可能なオープンソースLiquibaseクライアントをダウンロードします。コマンドライン・インタフェースで、次のコマンドを使用してプロジェクト・フォルダとサンプルH2データベースを作成します。
    >liquibase init project
    これはコード・スニペットです。
  2. H2データベースを起動します。
    >liquibase init start-h2
    これはコード・スニペットです。

    これにより、ブラウザ内の空のH2データベースのデータベース・コンソールも起動されます。

    データベース・コンソール
  3. ブラウザ・コンソールで、次のコマンドを使用してサンプル表を作成し、「実行」をクリックします。

    >create table pets (id int, name varchar(256), breed varchar(256), Primary Key (id));
    create tableコマンド
  4. Liquibase変更ログを含むPets表で構成されるこのスキーマを取得します。

    新しいコマンドライン・ウィンドウを開き、変更ログを生成します。

    >liquibase --changelog-file=examplepets.xml generate-changelog

    変更ログ・ファイルにexamplepets.xmlという名前を付けます。

    これはコード・スニペットです。

    出力には、ファイルが保存されている場所が表示されます。

  5. SQLcl 22.3 binの場所からOracle Databaseに接続します。

    次のコマンドを使用して、データベース内の表を表示できます。サンプル・データベースでは、いくつかのサンプル表が示されています。

    SQL> select table_name from user_tables;
    
    TABLE_NAME
    ____________
    REGIONS
    LOCATIONS
    DEPARTMENTS
    JOBS
    EMPLOYEES
    JOB_HISTORY
    COUNTRIES
    
    7 rows selected.
    
  6. examplepets.xml変更ログ・ファイルをSQLcl 22.3 binフォルダにコピーします。

  7. SQLコマンドライン・インタフェースで、変更ログを実行してPets表をデータベースに追加し、表がリストに含まれていることを確認します。

    SQL> lb update --changelog-file examplepets.xml
    SQL> select table_name from user_tables;
    これはコード・スニペットです。

3.8 DATABASECHANGELOG_DETAILS VIEW

DATABASECHANGELOG_DETAILSビューには、DATABASECHANGELOG表およびDATABASECHANGELOG_ACTIONS表からの情報が統合されているため、レポート作成やトラブルシューティングを容易に実施できます。

このビューでは、データベースに適用された各変更のステータスと実行された操作を詳しく確認できます。SQL列には、データベースで実行された実際のSQLが表示されます。SXML列には、変更が適用される前のオブジェクトの状態が表示されます。

SQL> desc DATABASECHANGELOG_DETAILS


  Name            Null?         Type 
________________ ___________ ________________ 
DEPLOYMENT_ID                VARCHAR2(10)     
ID                           VARCHAR2(255)    
AUTHOR                       VARCHAR2(255)    
FILENAME                     VARCHAR2(255)    
SQL                          CLOB             
SXML                         CLOB             
DATEEXECUTED     NOT NULL    TIMESTAMP(6)     
EXECTYPE         NOT NULL    VARCHAR2(10)     
MD5SUM                       VARCHAR2(35)     
DESCRIPTION                  VARCHAR2(255)    
COMMENTS                     VARCHAR2(255)    
LIQUIBASE                    VARCHAR2(20)     
CONTEXTS                     VARCHAR2(255)    
LABELS                       VARCHAR2(255)    

3.9 Liquibaseの変更セット

次の表に変更セットを示し、そのそれぞれについて説明します。変更セットについてさらに学習するには、<changeSet>タグを参照してください。

変更セット 説明
CreateOracleConstraint SQLから制約を作成します。
CreateOracleDirectory SQLからディレクトリを作成します。
CreateOracleFunction SQLから関数を作成します。
CreateOracleGrant SQLから権限を作成します。
CreateOraclePackageBody SQLからパッケージ本体を作成します。
CreateOracleJob SQLからDBMS_Schedulerジョブを作成します。
CreateOraclePackageSpec SQLからパッケージ仕様部を作成します。
CreateOracleProcedure SQLからプロシージャを作成します。
CreateOraclePublicSynonym SQLからパブリック・シノニムを作成します。
CreateOracleRefConstraint SQLから参照制約を作成します。
CreateOracleSynonym SQLからシノニムを作成します。
CreateOracleTrigger SQLからトリガーを作成します。
CreateOracleTypeBody SQLから型本体を作成します。
CreateOracleTypeSpec SQLから型指定を作成します。
CreateSxmlObject SQLから関数を作成します。
DropOracleConstraint 制約を削除します。
DropOracleFunction 関数を削除します。
DropOracleGrant 権限を削除します。
DropOraclePackageBody パッケージ本体を削除します。
DropOraclePackageSpec パッケージ仕様部を削除します。
DropOracleProcedure プロシージャを削除します。
DropOracleRefConstraint 参照制約を削除します。
DropOracleTrigger トリガーを削除します。
DropOracleTypeBody 型本体を削除します。
DropOracleTypeSpec 型指定を削除します。
DropOracleSynonym シノニムを削除します。
DropSxmlObject SXMLオブジェクトを削除します。オブジェクトがcreateSxmlObjectを介して作成された場合、オブジェクトは最後の状態にロールバックされます。作成されていなかった場合は削除されます。これは主にSXMLオブジェクトの処理のために内部的に使用されます。
RunOracleScript SQLclエンジンを使用してSQLスクリプトを実行します。すべてのSQLclコマンドがサポートされています。スクリプト、ファイルおよびURLソースがサポートされます。

3.10 Liquibaseを使用した例

Liquibase機能を使用して、データベース変更管理タスクを実行する例を示します。

3.10.1 SQLの確認

メンテナンス・コマンドを実行する前にSQLを確認するには:
  1. オプションで、SQL更新を保存するように設定します。
     cd <lb-changes-directory>
    spool update.sql
  2. HRに接続してオブジェクトを取得します。
    connect <db-connect1-string>
    lb update-sql
    spool off

3.10.2 オブジェクトの取得とデプロイ

EMPLOYEES表をHRからHR2にデプロイする手順は、次のとおりです。

  1. デフォルトの出力パスを設定します。
    cd <output-files-path>
  2. HRに接続してオブジェクトを取得します。
    connect <db-connect1-string>
    lb generate-object -object-type table -object-name employees
  3. HR2に接続し、オブジェクトが存在しないことを確認します。
    connect <db-connect2-string>
    drop table employees
  4. HR2にオブジェクトを作成し、作成されていることを確認します。
    lb update -changelog-file employees_table.xml
    desc employees

3.10.3 スキーマの取得とデプロイ

HRスキーマを取得してHR2スキーマで再生成するには:

  1. デフォルトの出力パスを設定します。
    cd <output-files-path>
  2. HRに接続し、スキーマを取得します。
    connect <db-connect1-string>
    lb generate-schema
  3. HR2ユーザーを設定します。
    connect <db-connect-dba-string>
    drop user hr2 cascade;
    create user hr2 identified by hr2;
    grant connect,resource, create view to hr2;
    alter user hr2 quota unlimited on users;
    alter user hr2 quota unlimited on sysaux;
  4. HRからデプロイされたスキーマ・オブジェクトをHR2に作成し、確認します。
    lb update -changelog-file controller.xml
    tables

3.10.4 RunOracleScriptを使用したカスタムSQLの実行

RunOracleScript変更セットを作成して表を作成し、PL/SQL変数をスクリプトで使用します。
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
   xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:n0="http://www.oracle.com/xml/ns/dbchangelog-ext"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
   <changeSet id="runScriptString" author="jdoe">
<n0:runOracleScript objectName="myScript" ownerName="JDOE"
sourceType="STRING">
<n0:source><![CDATA[
DEFINE table_name = RUNNERSTRING;
create table &&table_name (id number);
]]></n0:source>
    </n0:runOracleScript>
  </changeSet>
</databaseChangeLog>