Forguncy 10 オンラインヘルプ
アプリの運用 / アプリのメンテナンス / アプリの更新(データベースを変更する場合) / データベースをマージして発行
このトピックで
    データベースをマージして発行
    このトピックで

    Forguncy Builder(開発環境)のデータベースの変更をForguncy Server(運用環境)のデータベースへマージしてアプリケーションを発行する手順を示します。高度な設定(サーバー管理ポータル)に記載されている方法を使用して、外部データベースを開発環境用と運用環境用に分けている場合にも、本手順によりデータベース変更のマージが可能です。

    1. Forguncy Builderでデータベース、およびアプリケーションを修正して保存します。

      最終的にアプリのオフライン配置ツールを使用して発行を行う場合には、パッケージファイルとして保存します。詳細についてはオフラインでのアプリの配置を参照してください。

      アプリケーションの発行に外部データベースを開発環境用と運用環境用に分けている場合、開発環境用の外部データベースを修正、変更します。

    2. アプリケーションをメンテナンスモードに設定、もしくは停止します。

      アプリの開始と停止の「メンテナンスモードに設定」に記載されている方法にしたがって、対象のアプリケーションをメンテナンスモードに設定します。対象のForguncy Serverに対してForguncy Builderからアクセスできない環境の場合には、「アプリの停止」に記載されている方法にしたがって、対象のアプリケーションを停止させます。

      メンテナンスモードに設定することで、運用中のアプリケーションはユーザーから使用できなくなります。これにより、アプリケーションの改修作業中に運用中のデータベースが更新されてしまい、再発行時にデータの不整合が生じるといったことを防ぐことができます(データベースが外部データベースを使用しており、Forguncyアプリケーション以外からもデータの更新が行われる場合を除く)。

    3. 修正したアプリケーションをデータベースをマージして発行します。

      • オンラインで更新する場合(Forguncy Builderからの発行)

        アプリケーションの発行に記載されている方法にしたがって、[サーバーへ発行]ダイアログを開きます。

        [サーバー上にあるデータベースを変更する]チェックオプションをチェックし、[構造変更の反映]を選択して、テーブル構造のマッピング設定を行います。テーブル構造のマッピング設定の詳細については、本ページの「テーブル構造のマッピング設定」を参照してください。

      • オフラインで更新する場合(アプリのオフライン配置ツールからの配置)

        注意:アプリのオフライン配置ツールはWindows版のForguncy Serverでのみ利用が可能です。Linux版のForguncy Serverでは使用できません。

        オフラインでアプリを配置するに記載されている方法にしたがって、アプリのオフライン配置ツールを開きます。

        [サーバー上にあるデータベースを変更する]チェックオプションをチェックし、[構造変更の反映]を選択して、テーブル構造のマッピング設定を行います。テーブル構造のマッピング設定の詳細については、本ページの「テーブル構造のマッピング設定」を参照してください。

    4. ページ表示権限とセルのアクセス制御の設定の上書き

      本手順は必要に応じて実施してください。[ページ表示権限とセルのアクセス制御の設定を上書きする]チェックオプションをチェックすることで、Forguncy Builder側のページ表示権限の設定とセルのアクセス制御の設定でForguncy Server上のアプリケーションの設定を上書きできます。なお、Forguncy Server側の最新の設定は、[サーバーデータの取得]→[リソースに対するアクセス権限の取得]から、Forguncy Builder側へとインポートすることができます。

    5. [発行]ボタンをクリックするとアプリケーションがForguncy Serverへと発行され、データベースの変更がマージされます。

      もし、同名のアプリケーションがForguncy Server上に存在した場合、次のようなダイアログメッセージが表示されます。なお、アプリのオフライン配置ツールの場合には、同名のアプリケーションが存在しても本ダイアログは表示されません。

    6. アプリケーションのメンテナンスモードを解除、もしくは開始します。

      アプリの開始と停止の「メンテナンスモードの解除」に記載されている方法にしたがって、対象のアプリケーションのメンテナンスモードを解除します。メンテナンスモードへの設定ではなく、アプリを停止させていていた場合には、「アプリの開始」に記載されている方法にしたがって、対象のアプリケーションを開始させます。メンテナンスモードが解除されると、ユーザーがアクセスできるようになります。

    7. 必要に応じてクライアント側のWebブラウザーのキャッシュを削除します。

      サーバー上のアプリケーションを再発行しても、クライアントのWebブラウザにキャッシュが残っており修正前のアプリケーションの画面が表示されることがあります。この場合、クライアント側のキャッシュを削除してください。

    テーブル構造のマッピング設定

    開発環境上のデータベースと運用環境上のデータベースを比較し、テーブルなどの構造の差異をどのようにマッピングするかを設定することで、開発環境のテーブル構造の変更を運用環境へとマッピングできます。このマージ処理は、テーブルや列の追加や削除といった変更のみをマージするため、運用環境で蓄積されているデータは基本的に保持されます。

    データベースのマージ処理の途中でエラーが発生した場合、そのエラー発生前までに実行されたマージ処理は反映され、ロールバックされることはありません。そのため、マージ処理行う際にはバックアップを作成しておくことを強くお勧めします。なお、本マージ処理実行時に自動的にバックアップを作成する機能が用意されています。詳細については全般設定(サーバー管理ポータル)の「アプリケーション発行時の自動バックアップ」を参照してください。

    「構造変化の反映」を選択するか、「テーブル構造のマッピング設定」ボタンをクリックすると[テーブル構造のマッピング設定]ダイアログが表示されます。なお、内部データベースのビューは項目としては表示されませんが、変更されているビューは自動的に反映されます。

    マージ対象のオブジェクト

    内部データベース 外部データベース
    テーブル マージ対象(マッピング設定に表示される) マージ対象(マッピング設定に表示される)
    ビュー マージ対象(マッピング設定に表示される) マージ対象(マッピング設定に表示される)
    ストアドプロシージャー 該当なし マージ対象(マッピング設定に表示される)

    画面説明

    マッピング設定

    同じ名前のテーブルとフィールドが自動的に対になるように表示されます。 なお、Forguncy Builderの[ナビゲーションウィンドウ]上のテーブルやビューの名前のみを変更し、実際の外部データベース上の名前とは異なる名前にしている場合、[テーブル構造のマッピング設定]ダイアログ上に表示される名前はForguncy Builder上の名前となりますが、サーバー側データベースとの比較には実際の外部データベース上名前が使用されます。また、本処理は対象データベースの種類に関わらず、常に大文字小文字を区別してその名前を比較します。そのため、大文字小文字を区別しないデータベースを使用ている場合に、その名前の大文字/小文字だけを変更してマージ処理を行うと、マージ処理に失敗することに注意してください。

    対応するテーブルやフィールドがサーバー側データベースに存在しない場合、背景が赤色で表示されます。右側のドロップダウンリストからマージ方法を選択し、サーバー側データベースの構造をどのように変更するかマッピング設定を行います。

    背景が赤色の項目がなくなった状態となると、[OK]ボタンがクリックできる状態となります。[OK]ボタンをクリックすると設定したマッピング情報が保存されます。

    設定したマッピング情報を再編集する場合、[テーブル構造のマッピング設定]ボタンをクリックします。アプリケーション名を変更したり、[サーバー上にあるデータベースを変更する]チェックオプションのチェックを切り替えたりすると、設定したマッピング情報はリセットされます。このため、マッピング情報を設定したら、発行処理を完了させてアプリケーションとデータベースを更新してください。