データベースをマスター スレーブから HRD (google appengine) に移行したところ、複数の問題が発生しました。
- エンティティ数の不一致
移行前には 81543 レコードありましたが、移行後は約 71669 レコードしかありません。数千件のレコードが欠落している理由は不明です
移行前 - http://snag.gy/bwbx2.jpg 移行後 - http://snag.gy/r6IAo.jpg
- 一部のレコードはデータストア ビューアからアクセスできますが、API を使用したクエリでそれらを取得できません
例: 「users」テーブルにはユーザー - demo1@xyz.com と GQL クエリが含まれていました
select * from users where user_id='demo1@xyz.com'
失敗する API 呼び出し:
Query query = new Query("users");
query.addFilter("user_id", FilterOperator.EQUAL, request.getParameter("user_id"));
// Get Datastore
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
// PreparedQuery contains the methods for fetching query results
// from the datastore
PreparedQuery pq = datastore.prepare(query);
// Get Results
for (Entity result : pq.asIterable())
{
System.out.println("result = " + result);
}
誰かがこれをできるだけ早く助けてくれませんか。
ありがとう