데이터가있는 데이터베이스가 있습니다. 이 데이터를 JSON 파일 (C:\Python25\python manage.py dumpdata > initial_data.json
)에 넣습니다.기존 Django 데이터베이스에 NullableBooleanField를 추가하는 방법은 무엇입니까?
그럼 난 내 모델 중 하나에 추가 다음 필드를 추가 : 나는 C:\Python25\python manage.py syncdb
를 실행하면
visible = models.NullBooleanField(null=True, blank=True, default=False)
, 그것은 initial_data.json
에서 데이터를 가져올 시도에 DatabaseError: Could not load opinions.Topic(pk=1): no such column: visible
오류 메시지가 생성했다.
데이터를 손실하지 않고 Nullable 부울 필드를 기존 데이터베이스에 추가하려면 어떻게해야합니까?
업데이트 1 : 분명히, 나는이 문제를 다루는 첫 번째 사람이 아닙니다. 어느 데이터베이스 마이그레이션 메커니즘이 더 우수합니까? Django Evolution, South 또는 다른 것이 있습니까?
남쪽은 실제로 장고 코어에 추가되지 않습니다. 따라서 South를 수행하는 개발자가 Django에 대한 마이그레이션을 개발했지만 그는 처음부터 거의 수행했습니다. 그러나 Django 1.7이 릴리스 될 때 남에서 Django 마이그레이션으로 변환하는 방법에 대한 마이그레이션 노트가 있습니다. – miki725
@ miki725 - 고마워, 고마워. 정확성을 위해 다시 작성 : South는 가장 널리 사용되는 타사 마이그레이션 도구이며 이것이 내가 사용하고자하는 도구입니다. 수동으로 테이블을 변경할 수도 있지만 유지 관리가 훨씬 쉽지 않습니다. –
@PeterDeGlopper DjangoCon 2013 비디오가 출시되면 Andrew Godwin ("http://www.djangocon.us/schedule/presentation/16/")이 "Everybody Loves Migrations"토크를 볼 수 있습니다. 주제에 대한 자세한 내용을 설명합니다. – miki725