2016-10-22 116 views
0

我正在向現有數據存儲模型添加新屬性。我需要將具有數據的現有模式更新爲新模式。我檢查了updating schema的Google文檔,並使用了ndb模型。Google App Engine在數據庫模型中更新模式

我有一個DB模式是這樣的:

class oldModel(db.Model): 
    name = db.StringProperty(default = "") 
    author = db.StringProperty(default = "") 
    created = db.DateTimeProperty(auto_now_add = True) 

我的新的新的模式是:

class oldModel(db.Model): 
    name = db.StringProperty(default = "") 
    author = db.StringProperty(default = "") 
    created = db.DateTimeProperty(auto_now_add = True) 
    # new field 
    category = db.IntegerProperty(default = 0) 

你怎麼辦呢? (我想到的一件事是將新架構包含在不同的名稱中,並手動將數據從舊架構填充到新架構並刪除舊架構)

回答

2

添加屬性非常簡單。只需將其添加到您的模型。對於之前存在的任何實體,它們將具有默認值。如果以前存在的實體需要爲新屬性設置不同的值,那麼您必須對它們進行迭代並將新屬性設置爲期望的值。

+0

我只是添加一個新的屬性到實體。添加此模型時,我的舊架構數據是否將使用默認值填充?或舊模式只存在沒有此屬性? – psun

相關問題