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