繁体   English   中英

Django:在生产服务器上运行时出现未知列错误

[英]Django: Unknown column error when running on production server

当我尝试访问生产服务器 (AWS EBS) 上的 Django 应用程序时,它不断返回以下错误(1054, "Unknown column 'two_factor_phonedevice.throttling_failure_timestamp' in 'field list'")

奇怪的是,当使用完全相同的 MYSQL 数据库 (AWS RDS) 和设置在本地运行时,该应用程序运行良好。 我曾尝试删除数据库并重新运行迁移,认为这是由于我的 db 和迁移文件之间存在不一致,但我仍然遇到相同的错误。

我正在使用django_two_authentication模块进行用户身份验证/登录。 two_factor_phonedevice由模块创建,用于跟踪注册双因素身份验证的用户设备。

我似乎无法解决为什么在本地运行时可以找到该列,但在生产服务器上却找不到该列,尽管两者都使用相同的数据库。

我不熟悉django_two_authentication ,但我会检查您在每个环境中使用的不同设置模块。 您可能在INSTALLED_APPS或其他一些相关条目中存在差异。

原来在生产 requirements.txt 文件中没有指定模块版本,这意味着默认安装了最新版本(碰巧有不同的数据库模式),导致不同版本在本地和生产环境中运行。

为了解决这个问题,我在 requirements.txt 文件中明确设置了模块版本以匹配本地版本。

暂无
暂无

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

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