2010-12-07 1 views
3

Каков наилучший способ перемещения большого набора данных из одной базы данных django в другой?Перемещение большого набора данных через базы данных django

Я хотел бы сделать это на высоком уровне (в django), а не на уровне базы данных. Все существующие инструменты, которые я знаю (dumpdata/loaddata, classizer, django-extensions), хранятся в памяти, поэтому он не обрабатывает большие наборы данных.

+0

снят с места и добавлен 1 год. Я думаю, это интересно! – Agos 2010-12-07 14:22:49

ответ

4

Я нашел этот пост очень полезным - Migrating Django from MySQL to PostgreSQL the Easy Way.

+0

Эта статья была хорошей - дает ответ на проблему, с которой я столкнулся с memoryerror во время загрузки/dumpdata с довольно большой базой данных. – twneale 2010-12-07 17:26:42

1

У меня была такая же проблема с несколько приложений/баз данных, поэтому написал этот сценарий, который является ответвлением dumpdata Джанго, но сбрасывает данные на куски, чтобы избежать MemoryError

Скрипт доступен на https://github.com/fastinetserver/django-dumpdata-chunks

Пример использование:

1) Дамп данных в множестве файлов:

mkdir some-folder 

./manage.py dumpdata_chunks your-app-name 
--output-folder=./some-folder --max-records-per-chunk=100000 

2) Загрузить данные из папки:

find ./some-folder | egrep -o "([0-9]+_[0-9]+)" | xargs ./manage.py loaddata