正如标题所说。这是我的.ebextestions/django.config
(当然不包括在.gitignore
中)
container_commands:
01_migrate:
command: "source /var/app/venv/*/bin/activate python3 manage.py migrate --noinput"
leader_only: true
02_collectstatic:
command: "source /var/app/venv/*/bin/activate python3 manage.py collectstatic --noinput"
03_createsu:
command: "source /var/app/venv/*/bin/activate python3 manage.py createsu"
leader_only: true
option_settings:
aws:elasticbeanstalk:application:environment:
DJANGO_SETTINGS_MODULE: "myApp.settings"
PYTHONPATH: "/var/app/venv/staging-LQM1lest/bin:$PYTHONPATH"
aws:elasticbeanstalk:container:python:
WSGIPath: "myApp.wsgi:application"
aws:elasticbeanstalk:environment:proxy:staticfiles:
/static: static
packages:
yum:
git: []
python3-devel: []
mariadb-devel: []
setting.py
文件
# [...]
if 'RDS_HOSTNAME' in os.environ:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': os.environ['RDS_DB_NAME'],
'USER': os.environ['RDS_USERNAME'],
'PASSWORD': os.environ['RDS_PASSWORD'],
'HOST': os.environ['RDS_HOSTNAME'],
'PORT': os.environ['RDS_PORT'],
}
}
# [...]
cfn-init-cmd.log
文件
2020-10-24 19:06:58,897 P9954 [INFO] ************************************************************
2020-10-24 19:06:58,898 P9954 [INFO] ConfigSet Infra-EmbeddedPreBuild
2020-10-24 19:06:58,901 P9954 [INFO] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2020-10-24 19:06:58,901 P9954 [INFO] Config prebuild_0_myApp
2020-10-24 19:07:03,679 P10119 [INFO] ************************************************************
2020-10-24 19:07:03,679 P10119 [INFO] ConfigSet Infra-EmbeddedPostBuild
2020-10-24 19:07:03,682 P10119 [INFO] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2020-10-24 19:07:03,682 P10119 [INFO] Config postbuild_0_myApp
2020-10-24 19:07:03,690 P10119 [INFO] ============================================================
2020-10-24 19:07:03,690 P10119 [INFO] Test for Command 01_migrate <<== Test succeded
2020-10-24 19:07:03,694 P10119 [INFO] Completed successfully.
2020-10-24 19:07:03,694 P10119 [INFO] ============================================================
2020-10-24 19:07:03,694 P10119 [INFO] Command 01_migrate
2020-10-24 19:07:03,697 P10119 [INFO] Completed successfully. <<== Migration completed
2020-10-24 19:07:03,704 P10119 [INFO] ============================================================
2020-10-24 19:07:03,704 P10119 [INFO] Command 02_collectstatic
2020-10-24 19:07:03,708 P10119 [INFO] Completed successfully.
2020-10-24 19:07:03,715 P10119 [INFO] ============================================================
2020-10-24 19:07:03,715 P10119 [INFO] Test for Command 03_createsu
2020-10-24 19:07:03,718 P10119 [INFO] Completed successfully.
2020-10-24 19:07:03,719 P10119 [INFO] ============================================================
2020-10-24 19:07:03,719 P10119 [INFO] Command 03_createsu
2020-10-24 19:07:03,722 P10119 [INFO] Completed successfully.
当我打开xyz.elasticbeanstalk.com/admin/
时,我收到以下消息:
Exception Value: (1146, "Table 'ebdb.django_site' doesn't exist")
我在本地连接到数据库,发现到目前为止,ython3 manage.py migrate user_auth --noinput
命令还没有创建任何表。(我已经在本地运行了makemigrations
,并且migrations
文件夹包含在git中)
我将所有RDS变量设置为弹性豆茎配置。数据库不是与EB一起创建的,而是单独创建的,然后connected将其添加到EB
我还通过ssh连接到EB环境,并使用source /var/app/venv/*/bin/activate
激活虚拟环境。然后我运行了python3 manage.py migrate --noinput
并得到了这个错误:
django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.
此错误的原因是IMO,'RDS_HOSTNAME' in os.environ
返回False
,因此未配置数据库
因此,我运行了/opt/elasticbeanstalk/bin/get-config environment
,在列表中看到了所有以RDS为前缀的变量
然后我在相同的环境中运行python3
来检查os.environ
的值,可以看到只有'DJANGO_SETTINGS_MODULE'
可用,但没有RDS前缀变量
在过去的两天里,我一直在做这件事,读了数千篇相关的博客、帖子、文档,最后放弃了:(。如果需要,我会提供任何其他相关信息
目前没有回答
相关问题 更多 >
编程相关推荐