2010-12-07 28 views
3

将大型数据集从一个django数据库移动到另一个数据库的最佳方式是什么?跨django数据库移动大型数据集

我想这样做在高层次(在Django),而不是在数据库级别。我所知道的所有现有工具(dumpdata/loaddata,序列化程序类,django-extensions)都在内存中,因此它不处理大型数据集。

+0

已加星标和+1。我觉得这很有趣! – Agos 2010-12-07 14:22:49

回答

1

我有几个应用程序/数据库同样的问题,所以写了这个剧本,这是Django的dumpdata的一个分支,但在块转储数据,以避免的MemoryError

脚本可在https://github.com/fastinetserver/django-dumpdata-chunks

例用法:从文件夹

mkdir some-folder 

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

2)负载数据:

1)转储数据转换成许多文件

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