サーバーで稼働中のアプリケーションを更新する時に、アプリケーションの更新と共にデータベース(テーブル)の構造や設定なども同時に変更する場合、次のようにしてデータベースをマージします。大きくわけて2つのデータべースの更新方法があります。
この方法は、再発行時に開発環境上と運用環境上のデータベースのマージを指定できるため、現在稼働中のアプリケーションのダウンタイムを最小にして、更新することができます。
稼働中のアプリケーションを停止します。
アプリの開発と停止に記載の方法で、稼働中のアプリケーションを停止します。
アプリケーションの発行に記載の方法で発行します。このとき、「サーバー上にあるデータベースを変更する 」の項目でデータのマージ方法を指定する点に注意してください。
[ページ表示権限とセルのアクセス制御の設定を上書きする]チェックオプションをチェックした場合、Forguncy Builder側のページ表示権限の設定とセルのアクセス制御の設定がForguncy Server上のアプリケーションの設定を上書きします。そのため、このオプションをチェックする場合には、ページとセルのアクセス許可取得の内容に従い、アプリケーション発行前にForguncy Server側の設定を取得するようにしてください。
アプリケーションを開始します。
アプリの開発と停止に記載の方法でアプリケーションを開始します。
必要に応じてクライアント側のWebブラウザーのキャッシュを削除します。
サーバー上のアプリケーションを再発行しても、クライアントのWebブラウザにキャッシュが残っており修正前のアプリケーションの画面が表示されることがあります。この場合、クライアント側のキャッシュを削除してください。
この方法は、現在稼働中のアプリケーションを一度メンテナンスモードで停止してから、一旦サーバー上のデータを開発環境上に読み込んで開発環境上で正しく動作することを確認してから、サーバー上のデータベースを上書きして発行する必要があるため、アプリケーションのダウンタイムが大きくなります。
データベースは、Forguncy内部データベースだけでなく、SQL ServerやOracle Databaseなどの外部データベースの場合も含みます。
以下の手順で、現在運用中のデータベースをForguncy ServerからForguncy Builder(開発環境)にダウンロードし、開発環境上でアプリケーションと共に修正して再度Forguncy Serverに発行します。
Forguncy Builderの[発行]リボンタブ→[メンテナンスモードに設定]ボタンをクリックします。
メンテナンスモードを選択すると、サーバーのアプリケーションは停止します。このため、作業中にサーバー側でデータベースが更新されてしまい再発行時にデータベースの不整合が生じるといったことを防ぐことができます(データベースが外部データベースを使用しており、停止したForguncyアプリケーション以外からもデータの更新が行われる場合を除く)。もしサーバーのアプリケーションを停止したくない場合は、この手順の1と下記の手順の2は省略できますが、データベースの不整合についてご注意ください。
サーバーの設定が正しいことを確認して[OK]をクリックします。
サーバー |
Forguncy Serverがインストールされているコンピューター名(マシン名)、URL、もしくはIPアドレスを指定します。 |
---|---|
ユーザー名 |
Forguncy Serverのユーザー名を指定します。Windowsのユーザーではないことに注意してください。 アプリケーションを発行できるのは、ユーザーアカウント管理で「Administrator」のロール、もしくは「アプリケーションのサーバーへの発行」権限を割り当てたロールに所属しているユーザーアカウントのみです。既定では「Administrator」が「Administrator」ロールに所属しています。 |
パスワード |
ユーザーのパスワードを指定します。既定のユーザーアカウント「Administrator」の既定のパスワードは「123456」です。 |
アプリケーション名 |
メンテナンスモードに設定したいアプリケーションのアプリケーション名を指定します。アプリケーション名は最終的にユーザーが利用するアプリケーションの宛先URLから確認できます。 |
※[接続の確認]をクリックするとサーバーとの接続テストが実行されます。
次のダイアログが表示されて、Forguncy Server上のアプリケーションはメンテナンスモードに移行します。
メンテナンスモード中はユーザーにはメンテナンス中であることを通知する画面が表示され、アプリケーションは使用できなくなります。
参考:メンテナンスのお知らせページは編集することができます。詳しくはビルトインマスターページに関してを参照してください。
[発行]リボンタブ→[運用データベースの取得]ボタンをクリックします。
Forguncy内部データベースを使用しておらず、外部データベース(リンクテーブル)のみを使用している場合、本手順3から手順5までの操作は不要です。
これをクリックすることで、サーバーから運用中のデータベースを開発環境上にダウンロードできます。このとき、開発環境上のデータベースは上書きされます。すでに開発環境上のデータベースに対し新規テーブルを追加していたなどのことがあれば、事前にバックアップをしておくことで、ダウンロード後にそのバックアップしておいたプロジェクトからテーブルをインポートすることができます。
Forguncy Serverの設定が正しいことを確認して[OK]をクリックします。
※[接続の確認]をクリックするとForguncy Serverとの接続テストが実行されます。
次のダイアログが表示されます。Forguncy Builderのテーブルが上書きされても問題のないことを確認して[はい]をクリックします。
Forguncy Builderでアプリケーションを修正して保存します。
ForguncyのテーブルはForguncy Serverと同じ状態になっています。この状態でアプリケーション、およびデータベース部分を修正して保存します。
[発行]リボンタブ→[サーバー]ボタンをクリックします。
[サーバー上にあるデータベースを変更する]をチェックし、[すべて上書き:サーバー側にある内部テーブルが、Forguncy Builder上の内部テーブルの構造とデータで上書きされます。]を選択します。
本設定[サーバー上にあるデータベースを変更する]のチェックの有無にかかわらず、外部データベースのテーブルの設定情報(たとえばテーブルの関連付けなど)は、必ずForguncy Serverへと発行され、反映されます。
[ページ表示権限とセルのアクセス制御の設定を上書きする]チェックオプションをチェックした場合、Forguncy Builder側のページ表示権限の設定とセルのアクセス制御の設定がForguncy Server上のアプリケーションの設定を上書きします。そのため、このオプションをチェックする場合には、ページとセルのアクセス許可取得の内容に従い、アプリケーション発行前にForguncy Server側の設定を取得するようにしてください。
参考:
設定についてはアプリケーションの発行を参照してください。
[発行後にメンテナンスモードを解除する]にチェックを入れた場合、手順10と11の操作は必要ありません。
[発行]をクリックするとアプリケーションとデータベースがForguncy Serverに発行され上書きされます。
もし、同名のアプリケーションがForguncy Server上に存在した場合、次のようなダイアログメッセージが表示されます。なお、アプリのオフライン配置ツールの場合には、同名のアプリケーションが存在しても本ダイアログは表示されません。
[発行]→[メンテナンスモードの解除]をクリックします。
Forguncy Serverの設定が正しいことを確認して[OK]をクリックします。
※[接続の確認]をクリックするとForguncy Serverとの接続テストが実行されます。
Forguncy Serverのアプリケーションのメンテナンスモードが解除されユーザーはアクセス可能になります。
必要に応じてクライアント側のWebブラウザーのキャッシュを削除します。
サーバー上のアプリケーションを再発行しても、クライアントのWebブラウザにキャッシュが残っており修正前のアプリケーションの画面が表示されることがあります。この場合、クライアント側のキャッシュを削除してください。
参考:発行したアプリの「Config.xml」ファイル内の値の再設定
アプリケーション連携のログインパスワードの変更の内容に従って Forguncy Serverに発行したアプリケーションの以下のフォルダーにある「config.xml」ファイル内の設定値を変更していた場合、アプリケーションの再発行をすることでその設定はリセットされます。再発行後は、再度設定を行う必要があります。
C:¥Users¥Public¥Documents¥ForguncyServer¥[アプリケーション名]¥Config.xml