【问题标题】:Moving large dataset across django databases跨 django 数据库移动大型数据集
【发布时间】:2011-05-21 15:00:00
【问题描述】:

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

我想在高级别(在 django 中)而不是在数据库级别执行此操作。我知道的所有现有工具(dumpdata/loaddata、序列化程序类、django-extensions)都在内存中,因此无法处理大型数据集。

【问题讨论】:

  • 已加星标和 +1。我觉得这很有趣!

标签: python django database dataset migration


【解决方案1】:

我在几个应用程序/数据库上遇到了同样的问题,所以写了这个脚本,它是 django 的 dumpdata 的一个分支,但是为了避免 MemoryError 而将数据分块转储

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

示例用法:

1) 将数据转储到多个文件中:

mkdir some-folder

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

2) 从文件夹中加载数据:

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

【讨论】:

    【解决方案2】:

    我发现这篇文章非常有用 - Migrating Django from MySQL to PostgreSQL the Easy Way

    【讨论】:

    • 这篇文章很好——为我在使用大型数据库加载/转储数据期间遇到的内存错误问题提供了答案。
    猜你喜欢
    • 2020-08-24
    • 2014-02-11
    • 2019-08-14
    • 2011-01-27
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    相关资源
    最近更新 更多