【问题标题】:Django Streaming DumpDataDjango 流转储数据
【发布时间】:2011-10-29 22:52:00
【问题描述】:

如何让 Django 的 dumpdata 管理命令将内容流式传输到文件而不是将所有内容加载到内存中?

我正在尝试将 1GB Sqlite3 数据库转换为 PostgreSQL,我正在考虑的一种方法是使用 python manage.py dumpdata --all --format=json > mydatabase.json 将数据库转储为 json。

这运行了大约 5 分钟,然后它耗尽了我所有的内存并导致我的机器崩溃。

【问题讨论】:

    标签: python database django


    【解决方案1】:

    你可以尝试https://code.djangoproject.com/ticket/5423的补丁,但我认为更好的方法是将数据转储到sql。

    【讨论】:

    • 这个问题已经存在 4 年了……而且一直都有补丁可用?!叹息……
    • 我认为这是有正当理由的(ticket cmets 中的讨论很有帮助),补丁没有合并是好事;问题不仅在于 django 本身,还在于数据库驱动程序,还有其他方法可以将数据库从一个引擎迁移到另一个引擎。
    • 没有好办法。 Dumpdata 提供了一种相对干净和简单的方法来在 Django 的 ORM 支持的任何引擎之间迁移过滤后的数据。当然,我可以使用特定于每个 SQL 后端的工具来转储和加载我的数据,但这会变得更加复杂,并且需要我了解每个特定后端的所有细微差别......这不是必需的。跨度>
    猜你喜欢
    • 2011-12-07
    • 1970-01-01
    • 1970-01-01
    • 2017-01-20
    • 2012-06-28
    • 2012-01-08
    • 2020-08-14
    • 2011-07-14
    • 1970-01-01
    相关资源
    最近更新 更多