2016-10-22 6 views
0

既存のデータストアモデルに新しい属性を追加します。既存のスキーマを新しいスキーマのデータで更新する必要があります。私はupdating schemaのGoogleのドキュメントをチェックして、それはndbモデルを使用しています。Google App Engine DBモデルのスキーマの更新

私はこのような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