Перемещение большого набора данных по базам данных django - PullRequest
3 голосов
/ 07 декабря 2010

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

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

Ответы [ 2 ]

4 голосов
/ 07 декабря 2010

Я нашел этот пост очень полезным - Миграция Django из MySQL в PostgreSQL простым способом .

1 голос
/ 31 января 2014

У меня была такая же проблема с несколькими приложениями / базами данных, поэтому я написал этот скрипт, который является ветвью дампданных django, но создает дамп данных порциями, чтобы избежать 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...