GAE/Go本番環境では、インデックスを再構築しないと動作しない。

開発環境で動作していたのですが、本番環境で動作しなくなりました。Cloud Consoleからログを確認したところ、一致しないインデックスを見つけたというログがありました。

どうやらindex.yamlがある場合は手動で反映させる必要があるようです。

インデックスの再作成と古いインデックスの削除

上記を実行後にすぐにブラウザーでアプリを試してみたら、エラーが変わり以下になっていました。

API error 4 (datastore_v3: NEED_INDEX): The index for this query is not ready to serve. See the Datastore Indexes page in the Admin Console.

「インデックスがまだ出されてません。AdminConsoleのインデックスページを見てください。」とのことなのでしばらくしてからアプリを試したら問題なく動作できました。

Cloud Datastoreのクエリーを変更したりする場合は注意する必要があります。

開発環境でのインデックスのクリア方法

dev_appserver.pyを起動するときのオプションに–clear_search_indexes=trueを付けるとインデックスをクリアしてくれます。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA