Forguncyを運用していると、サーバー管理ポータル上とBuilder上の外部データベースの接続設定を、本番と検証で分けることなんて日常茶飯事だと思います。

この設定、不安じゃないですか?

心配性な私は、いつ本番と検証のデータベースが切り替わってしまわないか、いつもひやひやしながらリリース作業を行っています。

この記事ではそんな不安を解消するために、いつどのタイミングでサーバー管理ポータル上の接続設定が変わるのかをまとめました。

このページでは以下のことがわかります!

  • サーバー管理ポータル上の外部データベースの接続設定が上書きされるタイミング

このページの想定読者

  • アプリを発行する人
  • 外部データベースを利用している人
  • データベースを本番と検証で分けている人

このページの情報はV8以降で動作確認済みです。

検証方法

今回、以下のように、2つの外部データベースを利用します。

売上データは、test1というデータベースに接続しています。

見積データは、test2というデータベースに接続しています。

それぞれ利用しているデータベースはMySQLです。

※データベースや環境によって検証結果が変わるわけではありません。

まず、この状態で新規アプリの発行を行い、サーバー管理ポータル上、Forguncy Builder上で操作を行って上書き発行し、どのパターンの操作の時にサーバー管理ポータル上の外部データベースの接続設定が変わるのかを確認していきたいと思います。

上記が発行した後のサーバー管理ポータルの画面です。これから様々なパターンでテストしていきます。

Information

なお、本設定の仕様については以下ヘルプにも記載があるので併せてご覧ください。

発行したアプリに含まれるオブジェクトと設定の変更管理 | Forguncy 10 オンラインヘルプ

検証結果

結果は以下の通り。

サーバー管理ポータルの操作→

↓Forguncy Builderの操作
サーバー管理ポータル上で接続文字列を変えていない場合サーバー管理ポータル上で接続文字列を変更した場合
接続文字列名のみを変更する上書きされる上書きされる
接続文字列のみを変更する上書きされる変化なし
説明のみを変更する変化なし変化なし
接続文字列名と接続文字列を変更する上書きされる上書きされる
説明と接続文字列を変更する上書きされる変化なし
何も変更しない変化なし変化なし
接続設定を削除する上書きされる(サーバー管理ポータル上で接続設定がなくなる)上書きされる(サーバー管理ポータル上で接続設定がなくなる)

まとめると、結果は以下になります。

  • 本番と検証でデータベースを分けていない場合は上書きされる
  • 本番と検証でデータベースを分けている場合は、「接続文字列名」を変更したら上書きされる
  • 接続設定の削除は、必ず反映される。

その他の検証

V8の場合

V8は接続文字列名も説明もなく、接続文字列のみ設定します。

結果は以下の通り。

サーバー管理ポータルの操作→

↓Forguncy Builderの操作
サーバー管理ポータル上で接続文字列を変えていない場合サーバー管理ポータル上で接続文字列を変更した場合
接続文字列を変更する上書きされる上書きされる
何も変更しない変化なし変化なし(Builderの接続文字列とServerの接続文字列は異なる)
接続設定を削除する上書きされる(サーバー管理ポータル上で接続設定がなくなる)上書きされる(サーバー管理ポータル上で接続設定がなくなる)

要するに、

  • Builderの接続文字列を修正して発行すると必ず上書きされる
  • Builderの接続文字列を修正していない場合、たとえサーバー管理ポータル上で接続文字列を変更していても上書きはされない。

本番と検証でデータベースを分けて運用はできますが、検証データベースを変更した場合は注意が必要ということですね。

接続文字列が一つのアプリに対して、二つ目の接続文字列を追加して発行した場合

二つ目が追加されます。

この場合、もともとあった一つ目の接続文字列は以下ルールにのっとって上書きされます。

  • 本番と検証でデータベースを分けていない場合は上書きされる
  • 本番と検証でデータベースを分けている場合は、「接続文字列名」を変更したら上書きされる

つまり、一つの接続文字列が二つになったとしても、一つ目の接続文字列名を変えていなければ、一つ目の接続文字列に影響はありません。二つ目の接続文字列が追加されるだけになります。

接続文字列名を入れ替えてみる

接続設定が入れ替わりました。特に変わった動きはしませんでした。

テーブルがなかったらどうなるか

たとえ、接続設定を基にしたテーブルがなかったとしても影響はなかったです。

アプリを削除して、同じ名前のアプリを発行したら?

発行した設定が反映されます。特に削除前の情報を覚えているといったことは無いということですね。

サーバー管理ポータル上で変更したと判断する基準は?

接続文字列の内容を書き換えて、設定の保存ボタンを押して実行した場合にサーバー管理ポータル上の値を変更したと判断されます。

【著者】

sasayaki@メシウス社員

すべてのシゴトをデータで繋ぐ!

【メシウス社員です】
Forguncyを作ってる側の人間ですが、このコミュニティでは「いちユーザー」としても楽しみながらお邪魔しています!公式サポートではないですが、知ってることは共有したり、相談に乗ったりできたら嬉しいです。
※あくまで「個人の意見」なので、製品への要望や不具合の報告は、公式のサポート窓口も併せてご利用ください!