繁体   English   中英

Django迁移1100万行,需要将其分解

[英]Django migration 11 million rows, need to break it down

我有一个我正在处理的表,它包含大约1100万行...我需要在这个表上运行一个迁移,但是由于Django试图将它全部存储在缓存中,所以我用完ram或磁盘空间首先,它突然停止。

我很想知道是否有人遇到过这个问题并提出了一个基本上“分页”迁移的解决方案,可能一次分成10-20k行的块?

为了给出一些背景知识,我正在使用Django 1.10和Postgres 9.4,如果可能的话,我想保持这种自动化(我仍然认为它可以)

谢谢山姆

问题来自Postgresql,它在添加新列(字段)时重写每一行。

您需要做的是以下列方式编写自己的数据迁移:

  1. 添加一个null=True的新列。 在这种情况下,数据不会被重写,迁移将很快完成。
  2. 迁移它
  3. 添加默认值
  4. 再次迁移它。

这基本上是一个关于如何处理在巨大的postgres数据库中添加新行的简单模式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM