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
- Liquibase環境にインストールされている拡張機能。
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-module、generate-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 |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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
構文
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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
構文
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
False | - |
-schemas | -sc |
差分に含めるスキーマ。 | - | - |
-secure-parsing | -scp |
trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。 例として、リモートXMLエンティティ・サポートを無効にします。 |
- | --secureParsing |
3.4.8 db-doc
構文
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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
構文
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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
構文
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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
構文
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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
構文
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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
構文
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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
構文
Liquibase|lb generate-apex-object|geao OPTIONS
このコマンドは、カスタム拡張機能を使用します。
APEXオブジェクトのDDLを定義するXMLファイルが生成されます。
オプション
オプション | 説明 | デフォルト | 非推奨 |
---|---|---|---|
-debug | -de |
デバッグ出力を有効にします。 | False | - |
-log | -lo |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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|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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
False | - |
例
制御ファイルを生成します。
--Set default output path
SQL> cd <output-files-path>
SQL> lb generate-control-file
3.4.18 generate-object
構文
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
構文
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
構文
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
構文
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} ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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
構文
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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|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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
False | - |
-search-path | -sep |
変更ログ・ファイルなどのファイルを検索する場所の完全なリスト。 カンマで区切って複数のパスを指定できます。 |
- | --searchPath |
-secure-parsing | -scp |
trueの場合、ファイル・パーサーから機能を削除します。この機能は安全に使用されません。 例として、リモートXMLエンティティ・サポートを無効にします。 |
- | --secureParsing |
3.4.25 mark-next-changeset-ran-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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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
構文
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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
構文
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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
構文
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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
構文
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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
構文
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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 |
ロギングを有効にします。 標準ロギングは デバッグ・ロギングは |
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.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クライアントに追加できます。これを行う手順は、次の例を使用して説明します。
-
Oracle Databaseに接続し、SQLclコマンドライン・インタフェースを起動します。サンプル・データベースには、表示できるサンプル表がいくつかあります。
SQL> select table_name from user_tables; TABLE_NAME _____________ REGIONS LOCATIONS DEPARTMENTS JOBS EMPLOYEES JOB_HISTORY COUNTRIES 7 rows selected.
-
表
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.
-
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.
-
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.
-
LiquibaseのWebサイトからダウンロードできる、vanilla Liquibaseオープンソースのコマンドライン・クライアントに切り替えます。
-
vanilla LiquibaseクライアントのSQLclで接続しているOracle Databaseの資格証明を指定する必要があります。空白のテキスト・ファイルから
liquibase.properties
ファイルを作成します。この例では、WindowsシステムのC:\Users\
[username]フォルダにliquibase.properties
ファイルが作成されます。次の図に、この例で使用されているプロパティ・ファイルを示します。Liquibaseのデータベース資格証明の指定の詳細は、接続プロファイルでのプロパティの指定を参照してください。 -
SQLcl binフォルダから以前に作成した
fruits_table.xml
変更ログ・ファイルをコピーして、liquibase.properties
ファイルのフォルダの場所(この場合はC:\Users\[username])に貼り付けます。変更ログ・ファイルを別の場所に保持するには、liquibase.properties
ファイルのchangelog-fileフィールドにファイルの場所へのパスを指定します。 -
updateコマンドを実行します。
>liquibase --changelog-file=fruits_table.xml update
SQLcl専用変更ログがvanilla Liquibaseクライアントでサポートされていない形式であるため、更新は失敗します。
次のステップでは、変更ログを実行できるように、vanilla LiquibaseクライアントでSQLcl Liquibaseの変更ログを読み取る機能を追加します。
-
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
)
-
次の行を追加して
liquibase.properties
ファイルを更新します。change-exec-listener-class: liquibase.changelog.visitor.OracleActionChangeListener
これで、vanilla LiquibaseクライアントのSQLcl Liquibase変更ログを読み取ることができます。
-
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-schema
やgenerate-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.
- SQLcl Liquibaseを使用して、データベース状態のスキーマを生成します。
SQL> lb generate-schema
-
別のコマンドライン・ウィンドウに切り替えて、オープンソースのLiquibaseクライアントを使用してデータベース状態の変更ログを生成します。generate-schemaは拡張機能を使用するSQLcl専用コマンドであるため、オープンソースのLiquibaseクライアントは
generate-changelog
コマンドを使用する必要があります。ノート:
オープンソースのLiquibaseクライアントをLiquibase Webサイトからダウンロードできます。>liquibase --changelog-file=sql_test.xml generate-changelog
データベースの状態は、SQLcl LiquibaseとオープンソースのLiquibaseクライアントの両方で取得されるようになりました。
- 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;
-
データベースを変更ログの状態に変更するには、Liquibase
update
コマンドを使用する必要があります。これは、employeesおよびdepartments表に追加の列が追加されていないデータベースの状態です。これを行うには、SQLclに接続されておらず、オープンソースのLiquibaseクライアント・コマンドの実行に使用されたコマンドライン・ウィンドウで、次のコマンドを入力します。
>liquibase --changelog-file=sql_test.xml update
Liquibaseが、表などのデータベース内にすでに存在するオブジェクトを検出したため、updateコマンドが失敗します。この標準バージョンのLiquibaseでは、これらのオブジェクトは動的に処理されません。
-
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_Count
とRetention
、およびemployees
表のAwards
とともにすでに作成されています。
変更ログが生成され、Activities
表およびHead_count
、Retention
およびcolumns
が削除されて、Liquibaseを使用してそれらを作成するように表示されます。
-
SQLclでスキーマを生成します。
ノート:
前述の例の変更ログを別のフォルダに移動して、問題を回避します。SQL> lb generate-schema --Starting Liquibase at 09:33:52 (version 4.15.0 #0 built at 2022-08-19 14:45+0000)
-
別のコマンドライン・ウィンドウに切り替えて、オープンソースのLiquibaseクライアントでコマンドを実行します。ここで、変更ログも生成します。
>liquibase --changelog-file=sql_test2.xml generate-changelog
-
SQLclコマンドライン・ウィンドウで、
Activities
表およびHead_count
、Retention
および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.
-
オープンソースのLiquibaseコマンドライン・ウィンドウで、updateコマンドを実行します。
> liquibase --changelog-file=sql_test2.xml update
Liquibaseが既存のオブジェクトを検出すると、更新は失敗します。
-
SQLclコマンドライン・ウィンドウで、確認するためのSQLを生成し、SQLcl Liquibaseで更新を実行します。
SQL>lb update-sql -changelog-file controller.xml
SQL出力で、
Activities
表の作成およびSQLcl LiquibaseがSQL文を生成したことに関するセクションを確認し、列を追加するためにDepartments
表およびEmployees
表を変更できます。 -
更新を実行して、表および列が追加されていることを確認します。
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
データベースを使用してこれを示します。
- Liquibase Webサイトで使用可能なオープンソースLiquibaseクライアントをダウンロードします。コマンドライン・インタフェースで、次のコマンドを使用してプロジェクト・フォルダとサンプル
H2
データベースを作成します。>liquibase init project
H2
データベースを起動します。>liquibase init start-h2
これにより、ブラウザ内の空の
H2
データベースのデータベース・コンソールも起動されます。-
ブラウザ・コンソールで、次のコマンドを使用してサンプル表を作成し、「実行」をクリックします。
>create table pets (id int, name varchar(256), breed varchar(256), Primary Key (id));
-
Liquibase変更ログを含む
Pets
表で構成されるこのスキーマを取得します。新しいコマンドライン・ウィンドウを開き、変更ログを生成します。
>liquibase --changelog-file=examplepets.xml generate-changelog
変更ログ・ファイルに
examplepets.xml
という名前を付けます。出力には、ファイルが保存されている場所が表示されます。
-
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.
-
examplepets.xml
変更ログ・ファイルをSQLcl 22.3 binフォルダにコピーします。 -
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.4 RunOracleScriptを使用したカスタム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>