了解App Engine数据存储区上次更改时间的最简单方法

时间:2011-08-12 10:46:40

标签: google-app-engine google-cloud-datastore

我需要知道我的应用数据存储上次更新的时间。

当然,我可以找到并修补使用查询INSERT,UPDATE和DELETE的每一行代码但可能在数据存储区中有这样的官方功能吗?

2 个答案:

答案 0 :(得分:2)

每当写入数据库时​​,您都可以使用'数据库服务挂钩'来执行您自己的代码。

请参阅http://code.google.com/appengine/articles/hooks.html

答案 1 :(得分:1)

我建议不要试图用RPC钩子来完成这个。 RPC挂钩很整洁,但是它们会插入到数据存储堆栈的相对较低级别的组件中。除非有充分理由不这样做,否则最好使用高级抽象。

为什么不直接在模型上附加更新时间戳?

class BaseModel(db.Model):
  updated_at = db.DateTimeProperty(auto_now=True)

class MyModel(BaseModel):
  name = db.StringProperty()

class OtherModel(BaseModel):
  total = db.IntegerProperty()

从BaseModel继承的每个模型都会自动跟踪更新时间戳。