Django灯具。加载初始数据流程正在被杀死

时间:2013-10-27 20:04:37

标签: django django-south django-fixtures

我一直致力于将两个遗留数据库中的57k +记录精炼和重构为一个与Django兼容的实体。现在,当我完成后,我把它作为夹具倾倒,我试图在生产环境中加载它。

我的问题是这个过程在一段时间后被“杀死”。我的流程是:

./manage.py syncdb --noinput
./manage.py loaddata core/fixtures/auth.json  # just a default user
./manage.py migrate

结果:

Running migrations for django_extensions:  # custom apps migrate just fine
 - Migrating forwards to 0001_empty.
 > django_extensions:0001_empty
 - Loading initial data for django_extensions.
Installed 0 object(s) from 0 fixture(s)
Running migrations for myotherapp:
 - Migrating forwards to 0001_initial.
 > myotherapp:0001_initial
 - Loading initial data for myotherapp.
Installed 4 object(s) from 1 fixture(s)  # my other app with a fixture migrates ok
Running migrations for myapp:
 - Migrating forwards to 0001_initial.
 > myapp:0001_initial
 - Loading initial data for myapp.
Killed

我必须注意,我的开发机器上的过程没有问题。 另一个注意事项是我的开发机器运行的是postgres 9.2,在生产中有9.1 - 这可能是一个很大的问题吗?

如何调试此方法?我甚至不知道模糊的“被杀”被打印出了什么问题。南存储任何日志?任何帮助表示赞赏。

编辑: 正如Paulo Scardine指出的那样,问题在于JSON文件很重。首先,我尝试了XML转储,它进一步发展但最终也被淘汰了。一种方法是SQL转储。对于Postgres来说,对我有用的是:

pg_dump dbname | gzip > filename.gz # dump data on dev machine
createdb dbname # create empty db in production
gunzip -c filename.gz | psql dbname # restore the dump in production

1 个答案:

答案 0 :(得分:5)

无法找到有关加载灯具的具体错误。这个是倾销,但我猜根本原因是相关的:

您的问题有几个重复:

当我遇到这个错误时,我被告知要使用XML fixtures,因为XML解析器在内存占用方面的表现更好。

我的建议是不要在这个问题上失去多少睡眠,如果可以,请使用普通的SQL转储。

相关问题