ko-zuの日記: GoogleAppEngineでハマったこと DataStoreバックアップとリストア
日記 by
ko-zu
GoogleAppEngine for python datastoreで
entity.to_xml()がリストとキーを正しく扱ってくれないので自作YAML dumperを作成中ハマったこと。
エンティティから、
・変数でプロパティ名を指定しての取得
・参照先が存在しない、壊れたReferencePropertyのキー取得
val = db.Property(name=propname).get_value_for_datastore(entity)
開発サーバー用のキー変換
> entity.key().to_path()
['ParentKind', 123L, 'SomeKind', 256L]
これでやっとデータストアの完全なバックアップが取れるようになった。
YAMLのネイティブデータ型が便利。展開先モデルの自動生成は諦める方向で。
---
path: [Probe, 263085]
properties:
comment: null
disable: false
errorcount: 0
errormsgs: ['2010-04-29 02:06:15.462894: ApplicationError: 5 ']
lastpolldate: 2010-05-02 10:10:24.581881
probeversion: 12
sid: [ServId, 192166]
url: http://localhost:8888/probe.cgi
types:
errormsgs: [text]
sid: path
と思ったら開発サーバのデータストアが異常に重い・・・
GoogleAppEngineでハマったこと DataStoreバックアップとリストア More ログイン