24.3.2.1 エクスポート・ファイルの個別スクリプトへの分割

アプリケーション、ページおよびコンポーネントのエクスポート・ファイルを別々のSQLスクリプトに分割する方法について学習します。

アプリケーション、ページおよびコンポーネントのエクスポートを個別のファイルに分割すると、Apache Subversion (SVN)やGitなどのバージョン管理システムを使用してファイルを管理する場合に非常に便利です。この方法を使用すると、変更を加えたときにファイルをリポジトリにチェックインできます。たとえば、開発者がページ1と「カテゴリ」という値リストを変更したとします。アプリケーションを個別のファイルとしてエクスポートすると、2つのファイルのみを変更してコミットできます。

エクスポートを個別のファイルに分割することのもう1つの利点は、デプロイメントへの増分アプローチを実現できることです。小規模な変更(ラベルの入力ミスの修正など)のためにアプリケーション全体を再インストールするのではなく、修正を含むファイルのみを宛先システムで実行します。

アプリケーション、ページおよびコンポーネントのエクスポートは、次のように個別のファイルに分割できます。

  • アプリケーション: 「複数のファイルに分割」フラグを選択して、ページごとの個別ファイル、共有コンポーネントなどが含まれるZIPアーカイブとして、アプリケーションをエクスポートします。Zipファイルはローカル・ファイル・システム上で解凍し、更新したファイルをソース・コード・リポジトリにコミットできます。
  • ページおよびその他のコンポーネント: 「Zipとしてエクスポート」フラグを選択して、コンポーネントごとの個別のSQLファイルが含まれるZIPアーカイブとして、選択したコンポーネントをエクスポートします。

関連項目:

『Oracle APEX管理ガイド』コマンドラインからのエクスポートおよびインポート

エクスポート・ディレクトリ構造

アプリケーション、ページまたはコンポーネントを個別スクリプトにエクスポートすると、コンポーネント・タイプ別に編成されたディレクトリ構造が作成されます。

エクスポート・ファイル名

エクスポート・ファイルでは、次のネーミング規則が使用されます。

  • アプリケーションのエクスポート - アプリケーションIDを使用して名前が付けられます。たとえば、IDが326のアプリケーションの名前はf326.sqlまたはf326.zipになります。

  • ページのエクスポート - アプリケーションIDおよびページ番号の後に名前が付けられます。たとえば、IDが326のアプリケーションでページ4をエクスポートする場合、名前はf326_page_4.sqlまたはf326_page_4.zipになります。

  • コンポーネントのエクスポート - 複数のコンポーネントを選択する場合、名前にはアプリケーションIDとコンポーネントが使用されます。たとえば、IDが326のアプリケーションの複数のコンポーネントには、f326_components.sqlまたはf326_components.zipという名前が付けられます。

    コンポーネント・ファイル名は、アプリケーション・ビルダーで指定した名前に基づいています。一般に、特殊文字は削除され、スペースはアンダースコアに置換されます。

    アプリケーション・ビルダーでコンポーネント名を変更すると、次回コンポーネントのエクスポートを作成するときに新しいファイル名が使用されます。たとえば、Menuという名前のブレッドクラムがあり、コンポーネントのエクスポートを作成する場合、ファイルはmenu.sqlという名前になります。ブレッドクラムMain Menuの名前を変更すると、新しいコンポーネントのエクスポートの名前はmain_menu.sqlになります。バージョン管理システムを使用している場合、適切なコマンドを適用して名前を変更するか、元のファイルを移動して履歴を保持する必要があります。

生成されたインストール・スクリプト

エクスポートすると、多数のインストール・スクリプトが作成されます。エクスポートのタイプに応じて、インストール・スクリプトは次のいずれかの名前になります。

  • アプリケーションのエクスポート - install.sql
  • ページのエクスポート - install_page.sql
  • コンポーネントのエクスポート - install_component.sql

各エクスポートには、インストール・ファイルに加えて、カスタム・パッチ・スクリプトを開発する際に役立つ次の2つのファイルが含まれます。

  • set_environment.sql
  • end_environment.sql

これらのファイルには、パフォーマンスの向上に役立つ内部コードが含まれています。これらのスクリプトにより、内部変数が設定され、インポート全体のセキュリティ・チェックが一括して実行されます。これらのスクリプトを使用しない場合、実行するファイルごとに内部変数チェックが実行されます。

カスタム・インストール・ファイルのサンプルは次のようになります。

@@application/set_environment.sql
@@application/pages/page_00001.sql
@@application/pages/page_00023.sql
@@application/pages/page_00095.sql
@@application/end_environment.sq