4.2 Projectコマンドについて

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

projectのすべてのサブコマンドでは、詳細な処理情報を提供する、-verboseオプションと-debugオプションがサポートされています。

各サブコマンドについて次に示します。各サブコマンドの構文とオプションについては、SQLclコマンドライン・ヘルプを参照してください。

  • init|in

    新規プロジェクトを初期化します。このコマンドは、新しいGitリポジトリまたは既存のリポジトリにおいて実行できます。

    project init -name demo -makeroot -schemas cicd

    このコマンドでは、demoという現在の作業ディレクトリで、demoという新しいフォルダの下にプロジェクトが作成されます。このプロジェクト・ディレクトリの下に複数のフォルダが作成されます(.dbtoolsの下の構成ディレクトリなど)。

    このフォルダとその下のファイルは、Gitリポジトリに追加しコミットする必要があります。

  • config|cfg

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

    このコマンドでは、各projectコマンドで使用される現在の構成を確認できます。構成のファイルは、.dbtoolsフォルダの下に格納されます。この構成内には、構成できる多数の設定があります。

    project config -list

    このコマンドでは、構成済のオプションがすべてリストされます。これらのオプションのほとんどにはデフォルトがあり、パラメータが指定されていない場合はそれらが使用されます。それらのデフォルトを表示するには、project config -listとともに-verboseオプションを使用します。

    次のコマンドを使用すると、構成項目を設定できます:

    project config set -name <configitem> -value <value> -type <value-type>

    projectコマンドを使用するときは、実行時に、無効な構成がフラグ付けされます。

  • export|ex

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

    原則として、データベースからのエクスポート時には、新しいブランチが作成されます。このブランチは、stageコマンドの使用によって以前のブランチと比較してDDL文を生成するときに使用されます。プロジェクトにおいて次のコマンドを実行すると、project initコマンドで識別されたスキーマで所有されているオブジェクトをエクスポートできます。

    project export

    特定のスキーマ(または、オブジェクトでも可)をエクスポートすることもできます。

    構成ファイルには、エクスポートする正しいオブジェクトを明確に識別するために変更可能な、オブジェクトのフィルタリングのための特定のファイルがあります。

    エクスポートでは、DBMS_METADATAのサポート対象である通常のデータベース・オブジェクトがサポートされており、APEXアプリケーションもサポートされています。『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』の「DBMS_METADATA: オブジェクト・タイプ」の表を参照してください。

  • stage|st

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

    stageコマンドは、exportコマンドとともに使用されます。このコマンドでは、現在のブランチが取得され、それがベース・ブランチと比較されて、変更ログが生成されます(これにより、それらの変更内容をデータベースに適用する)。このコマンドでは、distフォルダを使用して、特定の形式でフォルダが作成されます。

    src
    dist -     
         -releases     
         -next         
             - <stage files>

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

  • release|re

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

    releaseコマンドでは、dist/nextフォルダの内容が取得され、そのフォルダ名が、指定したバージョン番号に変更されます。
    project release -version 1.0

    その後、distの下に新しいnextフォルダが作成されます。

    コードをリリースに移行した後は、それを変更しないでください。このことから、releaseコマンドは、次の基準を満たした後のみ実行することをお薦めします。

    • project verifyが正常に実行された。
    • 様々なシステムに対してそのリリースをテストする:
      • ビルド・システム: これにより、すべてのDDLおよびコードが正しくコンパイルされていることを確認します。
      • テスト・システム(データあり): データ整合性の問題がないことを確認します(例: ある列をnot nullにすると、それにnull値があることが検出される)。

    プレリリース・ビルドをテストするには、project gen-artifactを実行し、-version 1.0.0-testなどのバージョン名を使用します。これには、nextフォルダ内のすべてのものも含まれます。

  • gen-artifact|ga

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

  • deploy|dp

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

  • verify|v

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