Django 1.1中大型数据库的manage.py datadump(创建testdatabase)

时间:2011-03-01 15:43:42

标签: mysql django django-fixtures manage.py

为了能够进行一些不错的单元测试,我想创建一个测试数据库。在阅读了Django文档之后,我得出的结论是,最好的方法是通过使用fixture来从实际数据库创建一个testdatabase。

要创建这样的夹具,可以运行:

./manage.py dumpdata appname --indent 2

转储后,我想编辑文件,然后选择我真正想要使用的数据。然而,倾销它几乎崩溃我的电脑(脚本开始捣乱我想)。此外,它似乎首先获取内存中的所有数据,然后立即打印出来。

我使用的数据库是MySQL

有没有办法将数据从数据库中取出而不会崩溃我的PC,其格式可用作夹具?

(我正在考虑的替代方案是重新定义具有大量行的对象的默认数据管理器,仅返回所需的行,但这看起来像是一个相当讨厌的黑客,我宁愿不应用)

1 个答案:

答案 0 :(得分:2)

您应该查看此ticket并应用提供的补丁。 @ramiro最近运行测试来比较主干与他最新的补丁,你可以看到内存消耗存在巨大的差异,但代价是处理时间:

Unpatched runk enter image description here