2011-10-29 4 views
4

Django의 dumpdata 관리 명령을 사용하여 모든 것을 메모리에로드하는 대신 내용을 파일로 스트리밍하려면 어떻게해야합니까?Django Streaming DumpData

1GB Sqlite3 데이터베이스를 PostgreSQL로 변환하려고합니다. 한 가지 방법은 python manage.py dumpdata --all --format=json > mydatabase.json을 사용하여 json으로 데이터베이스를 덤프하는 것입니다.

내 메모리를 모두 소모하고 컴퓨터를 파괴하기 전에 약 5 분 동안 실행되었습니다.

답변

3

https://code.djangoproject.com/ticket/5423에서 패치를 시도 할 수 있지만 더 나은 방법은 SQL에 데이터를 덤프하는 것입니다.

+0

이 문제는 4 년간 알려져 있으며 ... 그 시간 동안 사용 가능한 패치가 있습니까?! 한숨 ... – Cerin

+0

나는 (티켓 주석의 토론이 도움이된다) 이것에 대한 타당한 이유가 있다고 생각하며, 패치가 병합되지 않은 것이 좋다. 문제는 장고 자체뿐만 아니라 데이터베이스 드라이버와도 관련이 있습니다. 데이터베이스를 한 엔진에서 다른 엔진으로 마이그레이션하는 다른 방법이 있습니다. –

+1

좋은 방법은 없습니다. Dumpdata는 Django의 ORM이 지원하는 엔진 사이에서 필터링 된 데이터를 마이그레이션하는 비교적 깨끗하고 간단한 방법을 제공합니다. 물론, 각 SQL 백엔드에 고유 한 도구를 사용하여 데이터를 덤프하고로드 할 수는 있지만 훨씬 복잡해지고 각 백엔드에 대한 모든 뉘앙스를 알아야합니다 ... 필요하지 않아야합니다. – Cerin

관련 문제