【发布时间】:2021-02-03 19:18:30
【问题描述】:
背景
我使用 Django 创建了一个网站,并将其部署在带有 MySQL Amazon RDS 数据库的 AWS EB 上。最近,我在models.py 文件中的一个现有模型中添加了一个新字段。在我的本地服务器上一切正常(使用本地 SQLite,而不是 RDS),但是当我将新更新部署到 EB 时,当我访问任何页面时都会收到以下错误:
OperationalError at /
(1054, "Unknown column 'old_model.new_field' in 'field list'")
问题
我做错了什么来得到上述错误,我可以做些什么来解决它?
db-migrate.config:
container_commands:
01_migrate:
command: "django-admin.py migrate"
leader_only: true
option_settings:
aws:elasticbeanstalk:application:environment:
DJANGO_SETTINGS_MODULE: app.settings
【问题讨论】:
-
EB 是否进行过任何迁移?
-
我不确定你的意思。当我部署它时,它会自动运行
django-admin.py migrate。 -
通常你会使用
manage.py migrate,即使你认为它正在运行,你知道它已经运行了吗?听起来它是第一次运行,因为您谈到访问网站上的页面,但由于该错误,它无法应用最新的迁移。 -
我认为它正在运行,因为我尝试添加一些在部署期间出错的额外命令。但我不知道它正在运行,所以如果它不是我该怎么做才能让它运行?
标签: mysql django database amazon-web-services amazon-elastic-beanstalk