対象製品とバージョン:Forguncy 3.x、4.x、6.x
Forguncyの内部データベースはSQLiteを使用しています。SQLiteはAndroidの標準組み込みデータベースとして採用されているほか、Google ChromeやFirefoxなどのWebブラウザーのデータストレージとしても利用されているなど、様々な領域のソフトウェアで広く使われている高い信頼性を持った組み込み型データベースです。
しかし、インプロセスで動作するデータベースであることから非常にシンプルな構造となっており、1つのファイルで1つのデータベース全体を構成しています。このようなアーキテクチャから、データベースファイルが破損した場合、一部、もしくは全体が正常に機能しなくなることが、SQLiteの問題として確認されています。データベースファイルが破損する主な要因としては、以下のようなものがあります。
- データベースファイルが存在するストレージ(ハードディスクやフラッシュメモリ)の物理的な障害、不良、もしくは破損
- OSやストレージのファイル容量制限を超えた場合
- 外部プログラムが対象のデータベースファイルそのもの、もしくはデータベースファイルが存在するストレージ領域を書き換えた場合
- SQLite内のコードに不具合が存在し、その不具合により不適切な処理が行われた場合
- ForguncyなどのようなSQLiteをデータベースとして使用するソフトウェアに不具合が存在し、その不具合により不適切な処理が行われた場合
そのため、万一の内部データベース破損に備え、以下のような対策を行っておくことを強く推奨します。
内部データベースの破損に対する備え
内部データベースの破損が発生した場合に備え、バックアップをこまめに行うことが重要となります。データベースファイルが破損していない状態のバックアップファイルがあれば、それを使用することで正常な状態へと戻すことができます。
Forguncy Serverでのバックアップ
Forguncy Server側の自動バックアップ機能は2つ存在します。
アプリケーション発行時の自動バックアップ
Forguncy 4以降のバージョンでは、内部データベースを「構造変更の反映(一部上書き)」で発行した場合に自動的にバックアップを行う機能が用意されています。本機能は既定では有効となっていません。次のページを確認し、自動バックアップ機能を有効化してください。
Forguncy 6:Forguncyマニュアル - 全般設定(サーバー管理ポータル)の「アプリケーション発行時の自動バックアップ」部分
Forguncy 4:自動バックアップ(データベースマージ時)
Forguncy 3の場合、アプリケーションの発行時のタイミングで自動バックアップを行う機能は用意されていません。
通常の自動バックアップ
Forguncy Serverの通常の自動バックアップ機能を使用して、バックアップをこまめに行うように設定してください。
Forguncy 6:Forguncyマニュアル - 自動バックアップ(サーバー管理ポータル)
Forguncy 4:自動バックアップ(定期的)
Forguncy 3:自動バックアップ
Forguncy Builderでのバックアップ
Forguncy 6では、既定でFGCPファイルの自動バックアップが有効になっています。次のページにある「プロジェクトの保存時に自動バックアップを行う」部分を確認し、有効になっていない場合には有効に設定してください。
Forguncy 4以前のバージョンの場合、手動でこまめにFGCPファイルのバックアップを行ってください。
バックアップからの復元
Forguncy Serverの場合
それそれのバージョンのヘルプの内容に従って、バックアップファイル(FDBAKファイル)を復元してください。
Forguncy 6:Forguncyマニュアル - 全般設定(サーバー管理ポータル) の「アプリの復元方法」
Forguncy 4:アプリのバックアップと復元 の「復元」
Forguncy 3:バックアップと復元 の「データベースの復元」
Forguncy Builderの場合
バックアップされていたForguncyファイル(FGCP)ファイルを、データベースが破損したForguncyファイルの代わりに使用してください。
検索キーワード: fgcinfo fgcdatabase fgcdevelopment fgcdeploy fgcoperation