9.16 PROJECT

SQLclでの、データベースCI/CD拡張機能用のコマンドは、projectです。これには、開発者がデータベースの変更内容を管理するためとシリアライズされたトランザクションを作成するために役立つ、プロセスの一部として使用される複数のサブコマンドが含まれています。

構文
project|proj [init|in] | [export|ex] | [config|cfg] | [gen-artifact|ga] |
[deploy|dp] | [release|re] | [verify|v] | [stage|st]

次の表に、各サブコマンドの説明を示します。

サブコマンド 説明
init|in 新規プロジェクトを初期化します。このコマンドは、新しいGitリポジトリまたは既存のリポジトリにおいて実行できます。
config|cfg プロジェクト構成プロパティを表示および管理できます。このコマンドでは、各projectコマンドで使用される現在の構成を確認できます。
export|ex データベース・オブジェクトをリポジトリにエクスポートします。
stage|st すべてのソース・ファイルおよびカスタムSQLファイルについてLiquibase変更ログまたは変更セットを作成します。stageコマンドは、exportコマンドとともに使用されます。
release|re 現在の作業セットをリリース状態に移行し、新しい作業本体を開始します。releaseコマンドでは、dist/nextフォルダの内容が取得され、その名前が、指定したバージョン番号に変更され、distの下に新しいnextフォルダが作成されます。
gen-artifact|ga プロジェクトの現在の状態を表す成果物を生成します。
deploy|dp ターゲット・データベースにその成果物をデプロイします。
verify|v プロジェクトの様々な側面(スナップショット、変更内容、プロジェクト全体)をテストする手段を提供します。

9.16.1 init

新規プロジェクトを初期化します。

構文

project|proj init|in {OPTIONS}

オプション

オプション 説明
必須
-name|-n <name> プロジェクトの名前を指定します。
オプション
-schemas|-s <schemas> エクスポートするスキーマのカンマ区切りリストを指定します。
-directory|-d <directory> プロジェクトを作成するディレクトリのパスを指定します。パスを指定しなかった場合、プロジェクトは現在のディレクトリに作成されます。
-connection-name|-con <connection-name> SQLcl接続名を指定します。接続名を指定せず、名前付き接続を介して接続している場合は、システムによって自動的に、その接続名がconnectionName 構成プロパティに追加されます。名前付き接続を使用しない場合、connectionNameプロパティは空のままになります。
-makeroot|-mr プロジェクトの名前を基にしたルート・フォルダを作成し、このディレクトリにすべてのファイルを格納します。
-debug|-de 出力でデバッグ情報を表示します。
-verbose|-v 出力で現在のプロセスに関するその他の詳細を表示します。

  • 次の詳細を使用してプロジェクトを初期化します:
    • プロジェクト名: apexsb
    • エクスポートするスキーマ: apexsb_data、apexsb
    • ディレクトリ: /workspace/projects/
    • SQLcl接続名: apexsb_conn
    SQL> project init -name apexsb -schemas apexsb_data,apexsb -d /workspace/projects -con apexsb_conn

9.16.2 export

データベース・オブジェクトをリポジトリにエクスポートします。

構文

project|proj export|ex {OPTIONS}

オプション

オプション 説明
-list|-l すべてのオブジェクトをアルファベット順にリストします。エクスポートするオブジェクトのリストは、現在のパラメータに基づいて出力されます。
-objects|-o <objects> エクスポートするオブジェクトのカンマ区切りリストを指定します。たとえば、HR.COUNTRIESです。
-schemas|-s <schemas> エクスポートするスキーマのカンマ区切りリストを指定します。たとえば、HRです。
-threads|-t <threads> DBMS_METADATA.getDDLを実行するためのクローニングされたJDBC接続に使用する同時スレッドの数を指定します。デフォルト値は5です。
-debug|-de 出力でデバッグ情報を表示します。
-verbose|-v 出力で、現在のプロセスに関するその他の詳細を表示します。

.dbtools/filters/project.filtersからカスタム・エクスポート・フィルタをエクスポートします。

SQL> project export -debug -list -objects REGIONS,COUNTRIES -schemas
HR,SCOTT -threads 4

9.16.3 config

プロジェクト構成プロパティを表示および管理できます。

構文
project|proj config|cfg {SUBCOMMAND} {OPTIONS}

オプション

オプション 説明
必須
-list|-li 現在の構成設定をリストします
オプション
-name|-n <name フィルタ時や編集時に使用できる、構成パラメータ名を指定します。
-debug|-de 出力でデバッグ情報を表示します。
-verbose|-v 出力で、現在のプロセスに関するその他の詳細を表示します。

sqlcl.versionパラメータについて構成をリストします。デフォルト値と説明を含めるには、-verboseを使用します。

project config -list -name sqlcl.version -verbose

サブコマンド

次のサブコマンドがあります:
  • set: プロジェクト構成パラメータを追加または更新します。
  • delete: プロジェクト構成から構成パラメータを削除します。

構成パラメータの追加または更新

新しい構成パラメータを追加するか、既存の構成パラメータを更新するには、setコマンドを使用します。

構文
project|proj config|cfg set|s {OPTIONS}
オプション
オプション 説明
必須
-name|-n <name> プロジェクトの名前を指定します。
-value|-va <value> 構成パラメータに割り当てる値を指定します。
オプション
-debug|-de 出力でデバッグ情報を表示します。
-verbose|-v 出力で、現在のプロセスに関するその他の詳細を表示します。

パラメータexport.demo.demoCommentstrueに設定します。

SQL> project config set -name export.demo.demoComments -type BOOLEAN -value TRUE -verbose

構成パラメータの削除

プロジェクト構成から構成パラメータを削除するには、deleteコマンドを使用します。

構文
project|proj config|cfg  delete|d {OPTIONS}

オプション

オプション 説明
-name|-n <name> フィルタ時や編集時に使用できる、構成パラメータ名を指定します。
-debug|-de 出力でデバッグ情報を表示します。
-verbose|-v 出力で、現在のプロセスに関するその他の詳細を表示します。

9.16.4 gen-artifact

プロジェクトの現在の状態を表す成果物を生成します。

構文

project|proj gen-artifact|ga {OPTIONS}

オプション

オプション 説明
-name|-n <name> アーティファクトのカスタム名を指定します。
-format|-fo <format> 必要な圧縮形式を指定します。サポートされている値は、zipまたはtgzです。
-version|-ve <version> アーティファクトのバージョンを指定します。
-force|-f アーティファクトを上書きします(それが存在する場合)。
-debug|-de 出力でデバッグ情報を表示します。
-verbose|-v 出力で、現在のプロセスに関するその他の詳細を表示します。

R1-1という名前のアーティファクトをzip形式で生成します。アーティファクトはartifactフォルダに保存されます。

SQL> project gen-artifact -name R1 -version 1 -format zip -verbose

9.16.5 deploy

ターゲット・データベースにその成果物をデプロイします。

構文

project|proj deploy|dp {OPTIONS}

オプション

オプション 説明
必須
-file|-fs <file> {FILE} アーティファクト・ファイルの場所のパスを指定します。
オプション
-debug|-de 出力でデバッグ情報を表示します。
-verbose|-v 出力で、現在のプロセスに関するその他の詳細を表示します。

指定されたパスからアーティファクト・ファイルを抽出します。このコマンドでは、@dist/install.sqlが実行され、ターゲット・データベースでLiquibaseインストーラが開始されます。

SQL> project deploy -file /Users/user1/Desktop/project1/artifact/R1-1.zip -verbose

9.16.6 release

現在の作業セットをリリース状態に移行し、新しい作業本体を開始します。

構文

project|proj release|re {OPTIONS}

オプション

オプション 説明
必須
-version|-ve <version> このリリースにラベルを付けるためのリリース・バージョンを指定します。
オプション
-debug|-de 出力でデバッグ情報を表示します。
-verbose|-v 出力で、現在のプロセスに関するその他の詳細を表示します。

作業単位をリリースにパッケージ化します。

SQL> project release -version 1.0

9.16.7 verify

プロジェクトの様々な側面(スナップショット、変更、プロジェクト全体)をテストします。

次のサブコマンドがあります:
  • verify-stage: ステージ・グループ用に登録されている検証テストをすべて実行します。
  • snapshot: スナップショット・グループ用に登録されている検証テストをすべて実行します。

ステージ・グループの検証テスト

ステージ・グループ用に登録されている検証テストをすべて実行するには、verify-stageを使用します。

構文
 project|proj verify|v verify-stage|st {OPTIONS}
オプション
オプション 説明
オプション
-debug|-de 出力でデバッグ情報を表示します。
-verbose|-v 出力で、現在のプロセスに関するその他の詳細を表示します。

スナップショット・グループの検証テスト

スナップショット・グループ用に登録されている検証テストをすべて実行するには、snapshotを使用します。

構文
project|proj verify|v snapshot|ss {OPTIONS}

オプション

オプション 説明
-debug|-de 出力でデバッグ情報を表示します。
-verbose|-v 出力で、現在のプロセスに関するその他の詳細を表示します。

9.16.8 stage

すべてのソース・ファイルおよびカスタムSQLファイルについてLiquibase変更ログまたは変更セットを作成します。

これは、exportコマンドとともに使用します。変更内容の一部として他のカスタム変更セットを追加するためにも使用できます。これにより、Liquibase SQL変更セット・ヘッダーとSQLおよびSQLclコマンドを追加するファイルが生成されます。このファイルは、変更ログ階層に自動的に追加されます。

構文
project|proj stage|st {SUBCOMMAND} {OPTIONS}
オプション
オプション 説明
-branch-name|-bn 比較対象となるブランチ名を指定します。指定しなかった場合は、デフォルトで、構成ファイル (git.defaultBranch)にある値にdevelopが付いたものが使用されます。
-debug|-de 出力でデバッグ情報を表示します。
-verbose|-v 出力で、現在のプロセスに関するその他の詳細を表示します。

ブランチ名を指定して、dist/releases/nextの下に新しいディレクトリを作成します。

SQL> project stage -branch-name branch1

ステージへのカスタム・ファイルの追加

ステージにカスタム・ファイルを追加するには、add-customコマンドを使用します。

構文
project|proj stage|st add-custom|ac {OPTIONS}
オプション
オプション 説明
必須
-file-name|-fn <file-name> カスタム・ファイルの名前を指定します。
オプション
-debug|-de 出力でデバッグ情報を表示します。
-verbose|-v 出力で、現在のプロセスに関するその他の詳細を表示します。

feature1.sqlカスタム・ファイルを追加します。

SQL> project stage add-custom -file-name feature1.sql