2010-12-07 18 views
3

Quelle est la meilleure façon de déplacer un grand ensemble de données d'une base de données django à une autre?Déplacement d'un grand ensemble de données dans des bases de données django

Je voudrais le faire au niveau supérieur (en django) et non au niveau de la base de données. Tous les outils que je connais (dumpdata/loaddata, serializer class, django-extensions) sont en mémoire donc il ne gère pas les grands ensembles de données.

+0

Favoris et +1. Je pense que c'est intéressant! – Agos

Répondre

1

J'ai eu le même problème avec plusieurs applications/bases de données, donc a écrit ce script, qui est une fourchette de dumpdata de django, mais décharges données en morceaux pour éviter MemoryError

Script est disponible à https://github.com/fastinetserver/django-dumpdata-chunks

Exemple utilisation:

1) vidage des données dans plusieurs fichiers:

mkdir some-folder 

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

2) Charger des données à partir du dossier:

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