본문 바로가기

이미 설계 이후에, 스키마가 변경되어서 다큐먼트 필드가 추가되거나 삭제되는 경우가 있다.

 

이때 새로운 레코드는 해당 필드가 있는데, 기존 레코드에 없다면 좀 이상하기도 합니다.

혹은 필드를 삭제하는 경우도 있어 이경우도 기존 DB 에 반영해야 한다.

 

Mongoengine 을 이용하는 경우 해당 클래스에 필드를 추가, 삭제하고 난 뒤에,

추가된 필드의 경우 아래처럼 모든 objects 에 해당 필드값을 채워주기만 하면 된다.

 

해당클래스.objects.update(추가필드1=0,추가필드2="") 

 

삭제되는 필드의 경우 아래처럼 명령을 내리면 해결된다.

 

해당클래스.objects.update(unset__code=True)  # Note: code 라는 필드를 없애라

 

BJ.

항상 업데이트가 중요해, 잘 챙겨보아야 한다

Markus Winkler 님의 사진, 출처: Pexels

B로그0간

개발 관련 글과 유용한 정보를 공유하는 공간입니다.