サーバ側のインデックス削除(プロジェクトが複数ある場合)

インデックスの削除のやり方をググると、

appcfg.py vacuum_indexes

をやれ、という情報に行き当たるのであるが、渡しているパラメータについて説明がないことが多くて混乱するのでメモっておく。

基本形はこうだ。

appcfg.py vacuum_indexes フォルダ名 -A アプリケーションID

こうではなく。

appcfg.py vacuum_indexes フォルダ名 

フォルダ名とは、ソースコードの場所のことで、indexes.yamlおよびapp.yamlが存在している場所と同義だ。デプロイするときに指定するフォルダ名と同じ。この引数は必須。指定しないとエラーになる。

アプリケーションIDとは、GAEサーバに作成したプロジェクトスペースのID。プロジェクト名ではなく。http://なんたら.appspot.com/... の「なんたら」の部分に相当するもの。Google Developers Consoleのプロジェクト一覧で「プロジェクトID」の欄に表示されている名前。こちらはオプションであって必須じゃないので指定しない例が多いのだろう。

おそらく、app.yamlに記載されているアプリケーション名(application: の次に書かれている文字列)に対応する、GAE側のプロジェクトが、1つだけという場合は、-A以降を指定しなくても困らないのだろう。しかし、検証用プロジェクトと本番プロジェクト、みたいに、1つのアプリケーションに対して、プロジェクトを複数使い分けている場合は、-Aにて、どのプロジェクトですよというのを指定してあげる必要がある。
複数使い分けていて、なおかつ、-Aを指定しなかったとき、どのプロジェクトに対して処理が行われるのかは未確認だが、エラーにならず処理続行したので、何らかのルールにより、どれかを自動的に選んでいるものと推察。