manage.py datadump большой базы данных в Django 1.1 (создание базы данных испытаний) - PullRequest
3 голосов
/ 01 марта 2011

Чтобы иметь возможность проводить приличные тесты юнитов, я хочу создать базу тестов.Прочитав документы Django, я пришел к выводу, что лучший способ сделать это - создать базу данных test из фактической базы данных с использованием приборов.

Чтобы создать такой прибор, нужно запустить:

./manage.py dumpdata appname --indent 2

После сброса я хочу отредактировать файл и выбрать данные, которые я на самом деле хочу использовать.Тем не менее, сброс его почти разрушает мой компьютер (я думаю, что скрипты начинают ломаться).Кроме того, кажется, сначала получить все данные в памяти, а затем распечатать все сразу.

Я использую базу данных MySQL

Есть ли способ получитьданные из базы данных без сбоев на моем ПК в формате, пригодном для использования в качестве фиксатора?

(альтернатива, которую я рассматриваю, - это переопределить менеджер данных по умолчанию для объектов с большим количеством строк, чтобы возвращать тольконужны строки, но это похоже на довольно неприятный хак, который я бы предпочел не применять)

1 Ответ

2 голосов
/ 01 марта 2011

Вам следует взглянуть на этот билет и применить прилагаемый патч.@ramiro недавно выполнил тесты, чтобы сравнить магистраль с его последним патчем, и вы можете видеть, что огромная разница в потреблении памяти за счет времени обработки:

Unpatched runk enter image description here

...