Django migrate 每次都被杀死

Django migrate Killed every time

我将更新上传到我的生产服务器。每次我 运行 迁移 (python manage.py migrate),在我的开发机器上只用了几秒钟,它挂了很长时间,然后简单地说“被杀死”。

这也让我跳出了 pipenv shell。我已经尝试使用迁移标志 --list--plan--fake,但它们都做同样的事情,挂起然后“杀死”。我不小心先在生产机器上运行makemigrations。那是什么搞砸了?我怎样才能找出是什么杀死了这个过程?我该如何解决?

我迫切需要将数据库更新为 运行 安装的代码。我已经检查了数据库并且已经进行了 none 的更改。此外,应用程序中的迁移文件也没有损坏。我在这里不知所措。

F运行k

你能运行 python manage.py migrate -v 3 使输出更详细,看看你是否能从那里找到任何东西。

您是否确保在迁移之前停止 Django 进程(例如 gunicorn)?在您的本地计算机上使用 runserver 时这无关紧要,但在使用例如 gunicorn 的生产环境中,数据库可能会被锁定。

是的,原来是内存问题。我没有意识到我 运行 在我的 Digital Ocean 水滴上处于如此狭窄的环境中。我使用他们的网络界面增加了内存大小,现在一切都很好。感谢所有至少考虑过我的问题的人,感谢欧文提出这是一个内存问题。

很可能您将 DEBUG 设置为 True,它会记录大量操作并消耗所有资源,将其设置为 False,您会发现性能有显着差异。

作为旁注: 尝试命令的所有参数,参见 makemigrations/migrate --help