在 AWS 上为 Django 设置并连接到数据库
Setup and connect to database for Django on AWS
我目前使用 Apache 在 EC2 上托管了一个 Django 应用程序。
我的数据库引擎
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'subscribe',
'USER': '<username>',
'PASSWORD': '<password>',
'HOST': 'localhost',
'PORT': '3306',
}
}
设置 Apache 后,我现在可以在 public IP 上访问我的 Web 应用程序,但我无法执行任何数据库事务,因为表不存在。这是错误消息:
ProgrammingError at /some-url
(1146, "Table 'subscribe.subscriberapp_subscriber' doesn't exist")
我确定这是因为尚未进行任何迁移 post 部署到 AWS。我的问题是,如何完全设置数据库?
您需要 运行 初始迁移以创建表。从控制台通过 运行ning ./manage.py dbshell
验证您是否已连接到您的数据库。如果可行,则说明您已建立连接。
然后你需要 运行 初始 ./manage.py syncdb
(对于 django <1.7)或者如果你 运行ning django 1.7+ 你会 运行 ./manage.py migrate
我目前使用 Apache 在 EC2 上托管了一个 Django 应用程序。
我的数据库引擎
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'subscribe',
'USER': '<username>',
'PASSWORD': '<password>',
'HOST': 'localhost',
'PORT': '3306',
}
}
设置 Apache 后,我现在可以在 public IP 上访问我的 Web 应用程序,但我无法执行任何数据库事务,因为表不存在。这是错误消息:
ProgrammingError at /some-url
(1146, "Table 'subscribe.subscriberapp_subscriber' doesn't exist")
我确定这是因为尚未进行任何迁移 post 部署到 AWS。我的问题是,如何完全设置数据库?
您需要 运行 初始迁移以创建表。从控制台通过 运行ning ./manage.py dbshell
验证您是否已连接到您的数据库。如果可行,则说明您已建立连接。
然后你需要 运行 初始 ./manage.py syncdb
(对于 django <1.7)或者如果你 运行ning django 1.7+ 你会 运行 ./manage.py migrate