Born Too Late

Yuya's old tech blog.

Google App Engine の開発サーバーで DataStore を保持し続ける

2010-05-01 20:51:17

ゴールデンウィーク中にサービスをひとつリリースするべく、Google App Engine (以下 GAE) に奮闘中です。なので、しばらくは、Google App Engine 上での開発を行うにあたっての Tips 的なエントリーが続きそうです。

さて、本題ですが、DataStore はもともと永続化しているものですが、ここでの話は「開発環境の再起動をする度に DataStore がクリアされるのを何とかしたい」という話です。

どういうことかというと、GAE の開発サーバー dev_appserver.py (Python 版) では DataStore のファイルがテンポラリーフォルダ (Linux だと /tmp) に保存されるので、OS を再起動したりすると、DataStore がクリアされてしまうので、それを防ごう、という話です。

やり方

dev_appserver.py の起動時に、--datastore_path というオプションで保存ファイル名を指定してあげれば OK。

$ dev_appserver.py . --datastore_path=PATH

こうすれば、テスト時のデータを保持し続けることができます。

注意

GAE プログラムのフォルダ内に保存すると、本番環境へのデプロイ時に一緒にアップロードされるので、保存先は外のフォルダに保存しましょう。