2008年6月6日金曜日

GAE 一括更新

SDK 1.10 から Gql でも  !=  がサポートされたが、これは

<=, >= などと同じ扱いなので、 日付で <=  を使うと、  他の条件で !=  が使えなくなる。

また、 order by などの sort  も <=  を利用した場合、その  property に限られる。

# RDBMS に比較するといろいろ制約があるが、データが溜まった後での
# 変な苦労からは開放されるか。

検索結果をまた絞ることもできるが、 key() まで対応するのは...。
key は不要で、 referece からみの関連する model がないのであれば対応可能。

結局、property を追加し batch でデータ更新することで対応。
バッチの更新は動作したが、 alter table add column などしないで、
model の定義を書き換えるだけで、
property を追加することができるのはいいが、どうもデータが蓄積された後、
追加したところは不安定な様子で、本体での更新処理が なぜがうまくいかない。

rr = db.GqlQuery("select * from Blog ")

for r in rr:
  print r.title,r.list_mode, r.open_mode
  r.list_mode = '0'
  r.put()

#db.put(rr)
-----

blogs = []
for b in blogs_tmp:
if b.category <> category:
blogs.append({
# key() : b.key(),
'author' : b.author,
'title' : b.title,
'content' : b.content,
'category' : b.category,
})

Migration Python2.7への移行

1. 以前のプログラムのソースをダウンロードして、 app.xml を変更して deployする 503 python -V // まず Mac にインストールされている python のバージョンを確認 504 pwd 505 curl https://sdk.cl...