如何解决Django migrate 每次都被杀死
我将更新上传到我的生产服务器。每次我运行 migrate (python manage.py migrate
)(在我的开发机器上只用了几秒钟)时,它都会挂起很长时间,然后只是简单地说“Killed”。
这也让我摆脱了 pipenv shell
。我曾尝试使用迁移标志 --list
、--plan
和 --fake
,但它们都做同样的事情,挂起然后“杀死”。我不小心先在生产机器上运行了 makemigrations
。这就是把事情搞砸的原因吗?我怎样才能找出是什么杀死了这个进程?我该如何解决?
我迫切需要更新数据库以运行已安装的代码。我已经检查了数据库,但没有进行任何更改。此外,应用程序中的迁移文件也没有损坏。我在这里不知所措。
弗兰克
解决方法
您能否运行 python manage.py migrate -v 3
使输出更详细,看看您是否可以从那里找到任何内容。
您是否确保在迁移之前停止了 Django 进程(例如 gunicorn)?在您的本地机器上使用 runserver
时不会有太大影响,但在生产中使用例如 gunicorn 时,数据库可能会被锁定。
是的,原来是内存问题。我没有意识到我在我的 Digital Ocean 液滴上运行在如此紧凑的环境中。我使用他们的 Web 界面增加了内存大小,现在一切正常。感谢所有至少考虑过我的问题的人,也感谢 Erwin 提出这是一个内存问题。
,很可能您将 DEBUG 设置为 True,它会记录大量操作并消耗所有资源,将其设置为 False,您会注意到性能的显着差异。
作为旁注:
尝试命令的所有参数,参见 makemigrations/migrate --help
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。