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