[英]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.