Dea*_*ane 8 google-app-engine objectdatasource nosql
如果使用对象数据库,当需要更改对象模型的结构时会发生什么?
例如,我正在玩Google App Engine.当我正在开发我的应用程序时,我意识到在某些情况下,我错误地命名了一个类,我想更改名称.我认为我需要巩固两个班级.
但是,我认为我不能,因为类的名称直观地绑定到数据存储区中,并且存在这些类名下存储的实际数据.
我认为从数据存储中抽象出对象模型的"旧方法"的好处是数据存储对对象模型一无所知 - 这只是数据.因此,您可以更改对象模型,只是以不同方式从数据存储区加载数据.
因此,一般来说,当使用与您的数据模型密切相关的数据存储时...您如何改变周围的事物?
如果您只关心类命名,则可以更改类名称而不更改类型(数据存储中使用的标识符):
class Foo(db.Model):
@classmethod
def kind(cls):
return 'Bar'
Run Code Online (Sandbox Code Playgroud)
如果你想重命名你的类,只需实现kind()上面的方法,并让它返回旧的类名。
如果您需要更改数据存储中数据的实际表示形式,则必须运行 MapReduce来更新旧数据。
| 归档时间: |
|
| 查看次数: |
312 次 |
| 最近记录: |