1

나는 db.model을 사용하는 오래된 gae 앱을 가지고 있습니다. ndb.model으로 이전해야한다는 사실을 알고 있습니다. 쉬운 방법이 있습니까, 아니면 많이 변경해야합니까?db.model에서 ndb.model로 마이그레이션하는 방법은 무엇입니까?

내 코드가 상당히 크고 색인 및 검색을 빌드하는 데 사용하는 db.model이라는 오래된 모델이 있습니다. 이전 모델을 유지하고 새 ndb 모델을 만들거나 이전 모델을 변경해야합니까?

모델에서 변수의 일부

cities = db.ListProperty(db.Key) #ndb.KeyProperty(repeated=True) 
regions = db.ListProperty(db.Key) #ndb.KeyProperty(repeated=True) 
blobs = db.ListProperty(db.BlobKey) #ndb.BlobProperty(repeated=True) 
primary_image = blobstore.BlobReferenceProperty() 
usr = db.ReferenceProperty() # ndb_model.KeyProperty() 
hasimages = db.BooleanProperty(default=False, 
           verbose_name='has_images') 
userID = db.StringProperty(verbose_name='User ID') 
integer_price = db.IntegerProperty() 
ip = ndb.StringProperty(verbose_name='ip') 
ipcountry = db.StringProperty(indexed=False, verbose_name='origin') 
tags = db.ListProperty(db.Category) 
category = db.CategoryProperty(verbose_name='Category') 
title = db.StringProperty(verbose_name='title') # required 
user = db.UserProperty(verbose_name='userid') 
im = db.IMProperty(verbose_name='nickname') # optional, xmpp 
city = db.StringProperty() # postaladdress should work instead 
region = db.StringProperty() # postaladdress should work instead 
url = db.StringProperty(verbose_name='url') 
geopt = db.GeoPtProperty(verbose_name='geopt') 
text = db.TextProperty(verbose_name='text') 

답변

1

그것은 특히 복잡하지 않아야하며, 같은 이진 DB 및 NDB 코드를 혼합 할 수있는, 점진적으로 수행 할 수 있습니다. DB to NDB Client Library Migration을 참조하십시오.

+0

나는 그것을 점차적으로하고있다. 내 모델은 상당히 복잡하며 테스트해야하는 참조 속성을 사용합니다. 답변 해주셔서 감사합니다. –

관련 문제