スティルハウスの書庫の書庫

はてなダイアリーで書いてた「スティルハウスの書庫」を移転してきました。

ローカルのDatastoreは壊れやすい

ローカルの開発環境ではDatastoreに保存したデータがlocal_db.binというファイルに格納されます。SDK 1.2.2からはこの内容がWebブラウザから閲覧できるようになって便利になりました。しかしやはりあくまでデバッグ用ということで簡素な作りになっているようで、アプリの不具合やバグでアプリを中断すると、このDBファイルがけっこう簡単に壊れてしまいます。

実際、テスト用データを時間かけてロードしている最中にアプリの不具合が起きて強制終了したら、それまでロードしていたデータが全部なくなってしまいました(T_T) 再起動するとDBファイルがロードできないとかなんとか言われます(ファイルにシリアライズ保存しといたエンティティを読もうとしたけどEOFになったよ!的なスタックトレースが出てくる)。同じファイルベースDBでもSQLiteはめったにファイルが壊れることがないので、見習って欲しいものです(というかSQLiteでDatastoreを実装するとか)。