이번에는 DB에서 항목을 삭제하는 것.
https://cloud.google.com/appengine/articles/update_schema 및
http://sandrylogan.wordpress.com/2010/12/08/delattr/ 사이트 참조
class AlbumModel(ndb.Expando): #ndb.Model -> ndb.Expando로 교체 artist = ndb.StringProperty() title = ndb.StringProperty(indexed=False) label = ndb.StringProperty() user = ndb.UserProperty() created_at = ndb.DateTimeProperty(auto_now_add=True) updated_at = ndb.DateTimeProperty() #last_login = ndb.DateTimeProperty(auto_now=True) #Add (2014.12.06) version = ndb.IntegerProperty(default=2)
안쓸 항목을 주석처리 한다.
그리고 지난 번에 만들었던 update_schema 파일에서 삭제하는 코드만 넣어주면 된다.
def DeleteSchema(): albums_query = model.AlbumModel.query() for p in albums_query.fetch(): delattr(p,'last_login') p.put() class DeleteHandler(webapp2.RequestHandler): def get(self): deferred.defer(DeleteSchema) self.response.out.write('Schema migration successfully initiated.')
그리고 나서 다시 ndb.Model로 바꿔주면 끝