3.12.11.1.6 1つ以上のアプリケーションのエクスポート
SQLclを使用して、単一のAPEXアプリケーションまたはワークスペース内のすべてのアプリケーションをエクスポートします。
- 単一のファイルへのアプリケーションのエクスポート
APEXアプリケーションを単一のファイルにエクスポートします。 - ワークスペースのすべてのアプリケーションのエクスポート
ワークスペース内のすべてのAPEXアプリケーションをエクスポートします。 - 複数ファイルへのアプリケーションの分割エクスポート
すべてのアプリケーション・コンポーネントが個別のファイルとして格納されたディレクトリとして、APEXアプリケーションをエクスポートします。 - ソース管理で分割オプションが好ましい理由
ソース管理で-split
オプションを指定したapex export
を使用するメリットについて学習します。 - 選択したアプリケーション・コンポーネントのみのエクスポート
コンポーネントをタイプおよびID別に個別にリストして、一部のアプリケーション・コンポーネントをエクスポートします。 - APEXアプリケーションのエクスポートを制御する追加のオプション
追加のAPEX export
コマンド・オプションについて学習します。
親トピック: SQLclを使用したエクスポートおよびインポート
3.12.11.1.6.1 単一ファイルへのアプリケーションのエクスポート
APEXアプリケーションを単一のファイルにエクスポートします。
APEXアプリケーションを単一のファイルにエクスポートするには、apex export
コマンドを使用してアプリケーションIDを指定します。
この例では、アプリケーションIDは1234
です。
SQL> apex export -applicationid 1234
親トピック: 1つ以上のアプリケーションのエクスポート
3.12.11.1.6.2 ワークスペースのすべてのアプリケーションのエクスポート
ワークスペース内のすべてのAPEXアプリケーションをエクスポートします。
ワークスペース内のすべてのアプリケーションをエクスポートするには、apex export
コマンドを使用してワークスペースIDを指定します。
この例では、ワークスペースIDは1908816359534887
です。
SQL> apex export -workspaceid 1908816359534887
Exporting Application 106:'Sample Interactive Grids'
Exporting Application 110:'Books with Tags'
Exporting Application 113:'List Examples'
Exporting Application 117:'HR App'
親トピック: 1つ以上のアプリケーションのエクスポート
3.12.11.1.6.3 複数ファイルへのアプリケーションの分割エクスポート
すべてのアプリケーション・コンポーネントが個別のファイルとして格納されたディレクトリとして、APEXアプリケーションをエクスポートします。
各アプリケーション・コンポーネントが個別のファイルに分割されたディレクトリとしてアプリケーションをエクスポートするには、apex export
コマンドを使用して、アプリケーションIDと-split
オプションを含めます。
この例では、アプリケーションIDは1234
です。
SQL> apex export -applicationid 1234 -split
前述の例では、install.sql
スクリプトおよびアプリケーション・ディレクトリが格納されたf1234
ディレクトリが(現在のディレクトリに)作成されます。このアプリケーション・ディレクトリには、すべてのアプリケーション・コンポーネントが論理サブディレクトリに編成されて格納されます。個別のコンポーネントごとに、個別のファイルにエクスポートされます。
親トピック: 1つ以上のアプリケーションのエクスポート
3.12.11.1.6.4 分割オプションがソース管理に適している理由
ソース管理で-split
オプションを指定したapex export
を使用する利点について学習します。
apex export
に-split
オプションを指定して使用すると、アプリケーションのエクスポートに対して、より細かいアプローチが可能になります。また、このアプローチでは、開発者がアプリケーションに加えられた変更をコンポーネント・レベルで確認できるので、ソース管理の変更トラッキング・ツールがより有用になります。
たとえば、新しいページ(たとえば、11ページ)に新しいアプリケーション機能を追加し、既存の3ページを変更してtags_lov
という名前の既存の共有LOVを変更したとします。-split
オプションを使用してアプリケーションをエクスポートすると、ソース管理システムの変更内容を表示するレポートに特定のページおよびLOVを個別にリストできます。
次に、一般的なソース管理システムであるGitを使用しているとします。次の例に示すように、git status
コマンドを使用して保留中の変更を確認できます。
[./f1234]$ git status
On branch main
Changes to be committed:
new file: application/pages/page_00011.sql
modified: application/pages/page_00003.sql
modified: application/shared_components/user_interface/lovs/tags_lov.sql
modified: application/create_application.sql
modified: install.sql
11ページが追加され、3ページが変更され、tags_lov
という名前の既存の共有コンポーネントLOVも変更されていることが、変更されたファイルのリストに示されていることに注目してください。また、アプリケーションへの新しいページの追加を反映するために、install.sql
ファイルおよびcreate_application.sql
ファイルも変更されていることに注目してください。
対照的に、アプリケーションを単一のファイルとしてエクスポートすると、ソース管理システムでは、その1つのファイルの変更のみを表示できるため、アプリケーションのどの側面が変更されたのかがわかりにくくなります。同様に、コンテキストの変更を考慮する際に周囲のテキスト量が少なく、レビュー対象ファイルの目的を説明するわかりやすい名前がサブディレクトリに付いていれば、同僚が加えた変更をレビューしやすくなります。
親トピック: 1つ以上のアプリケーションのエクスポート
3.12.11.1.6.5 選択したアプリケーション・コンポーネントのみのエクスポート
タイプおよびID別にコンポーネントを個別にリストして、一部のアプリケーション・コンポーネントをエクスポートします。
タイプおよびID別にコンポーネントを個別にリストすることで、アプリケーション・コンポーネントの部分エクスポートを実行できます。
次の例では、2022年1月22日以降にアプリケーション1234で変更されたコンポーネントをリストし、-expComponents
オプションを使用してこれらのコンポーネントのみを個別のファイルにエクスポートする方法を示します。
SQL> apex export -applicationid 1234 -list -changesSince 2022-01-22
Date ID Name
---------------- --------------------------------------- -----------------------
2022-01-22 14:59 LOV:23618973754424510000 TAGS_LOV
2022-01-22 14:59 PAGE:3 3. Book
2022-01-22 15:00 PAGE:11 11. Library Search
SQL> apex export -applicationid 1234 -expComponents LOV:23618973754424510000 PAGE:3 PAGE:11
Exporting Application 1234
前の例では、指定された3つのコンポーネントをインストールするために必要な内容のみを含む単一のf1234.sql
ファイルを生成しました。
次の例に示すように、-split
オプションを使用することもできます。
SQL> apex export -applicationid 1234 -split -expComponents LOV:23618973754424510000 PAGE:3 PAGE:11
Exporting Application 1234
これにより、f1234
ディレクトリおよびこれらの3つのコンポーネントをインストールするために必要なファイルのみが生成されます。この例では、メインSQLスクリプトがinstall.SQL
ではなくinstall_component.SQL
という名前になっていることに注意してください。
[./f1234]$ find . | grep \.sql
./application/pages/page_00003.sql
./application/pages/page_00011.sql
./application/shared_components/user_interface/lovs/tags_lov.sql
./application/pages/delete_00003.sql
./application/pages/delete_00011.sql
./application/set_environment.sql
./application/end_environment.sql
./install_component.sql
親トピック: 1つ以上のアプリケーションのエクスポート
3.12.11.1.6.6 APEXアプリケーションのエクスポートを制御する追加オプション
その他のapex export
コマンドのオプションについて学習します。
apex export
コマンドの次のオプションを使用して、アプリケーションとともにエクスポートされる内容を調整します。
表3-6 apex exportコマンドのオプション
オプション | 説明 |
---|---|
|
|
|
エクスポート・タイプのカンマ区切りリスト: |
|
アプリケーション・エクスポート・ファイルからエクスポート日付を除外します。 |
|
ユーザーが保存したすべてのパブリック対話型レポートをエクスポートします |
|
ユーザーが保存したすべての対話型レポートをエクスポートします |
|
すべての対話型レポート通知をエクスポートします |
|
変換リポジトリから、変換マッピングとすべてのテキストをエクスポートします |
|
アプリケーションのインポート時のIDが、エクスポートにそのまま出力されます |
|
サブスクライブされたコンポーネントへの参照はエクスポートされません |
|
開発者コメントをエクスポートします |
|
はいの場合は |
|
指定されたディレクトリ内のすべてのファイルを保存します(例: -dir some/sub/directory) |
|
アプリケーション・コンポーネントをエクスポートします。残りのすべてのパラメータは、 |
|
デバッグ出力を出力します |
|
内容が変更されていない場合でも、既存のファイルを上書きします |
|
アプリケーションを複数のファイルに分割します |
親トピック: 1つ以上のアプリケーションのエクスポート