2010-12-01 2 views
2

Google 애플 리케이션 엔진 애플리케이션 개발을 위해 python을 사용하고 있습니다. 내 질문에 개발하는 동안 몇 번 우리는 추가, 삭제 또는 심지어 일부 필드의 데이터 형식을 변경하는 데이터 모델을 수정해야합니다. 그러나 모델을 수정하는 것은 모든 데이터를 파괴하는 clear_datastore를 사용하기 전까지는 효과가 없습니다. 그것은 사실입니까, 아니면 제가 잘못한 것을하고 있습니까?데이터 보존 중 Google AppEngine Datastore 테이블 변경

답변

3

datastore 자체는 스키마가 없습니다. 즉, 동일한 속성의 엔터티를 가질 수 있습니다. 따라서 변경 내용 이 적용되지만 기존 데이터는 자동으로 새 스키마로 업데이트되지 않습니다. Under the covers 모든 엔티티는 dict (키 - 값 쌍)와 같은 프로토콜 버퍼입니다.

스키마를 변경하려면 기존 데이터도 업데이트해야하므로 어떤 방식 으로든 변환해야합니다. 종종 원래 엔티티를로드하고 새 스키마로 변환 한 다음 다시 배치하기위한 특수 스크립트를 작성해야합니다. Google에는 article이이 주제에 대해 논의하고 있습니다.

+0

나는 내 대답을 얻었다, 고마워. –