我有一个Django应用程序,该应用程序在本地运行良好,但是当我将其部署到Google Cloud时抛出服务器错误500。它在Flex引擎上,我按照these very good instructions进行了设置。
它告诉我数据库不存在。 (确实如此)。
已解决: 我没有意识到实例和数据库之间没有区别。该实例存在,但数据库不存在。我在实例中创建了数据库,现在一切正常。
{
insertId: "s=81237568d9204e6081d81087faf41900;i=162cc;b=0ca68bbe363d49a581ec4e2fc6c45487;m=799aa9bfc;t=57529446a6708;x=4f176b686e1cb7ce-0@a1"
logName: "projects/rcg-live/logs/cloudsql.googleapis.com%2Fpostgres.log"
receiveTimestamp: "2018-09-06T00:49:51.309738251Z"
resource: {…}
severity: "ALERT"
textPayload: "FATAL: database "rcg-live-db" does not exist"
timestamp: "2018-09-06T00:49:45.486088Z"
}
当我尝试将本地应用程序与cloud sql代理工具连接时,出现相同的错误:
Traceback (most recent call last):
File "/anaconda3/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection
self.connect()
File "/anaconda3/lib/python3.6/site-packages/django/db/backends/base/base.py", line 194, in connect
self.connection = self.get_new_connection(conn_params)
File "/anaconda3/lib/python3.6/site-packages/django/db/backends/postgresql/base.py", line 174, in get_new_connection
connection = Database.connect(**conn_params)
File "/anaconda3/lib/python3.6/site-packages/psycopg2/__init__.py", line 130, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: FATAL: database "rcg-live-db" does not exist
settings.py看起来像这样:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'HOST': os.environ['DB_HOST'],
'PORT': os.environ['DB_PORT'],
'NAME': os.environ['DB_NAME'],
'USER': os.environ['DB_USER'],
'PASSWORD': os.environ['DB_PASSWORD']
}
}
并且我确定app.yaml文件配置正确...正在查找密钥,并且当我更改它时,首次亮相设置会响应,两者均由app.yaml控制
我不确定我可以在此处显示什么,以表明我的云上存在一个名为“ rcg-live-db”的postgres数据库,因此我相信我会信服。
再次,一切都在本地运行,包括管理页面。当我尝试使用远程数据库时,所有500个错误。
答案 0 :(得分:1)
已解决:我没有意识到实例和数据库之间没有区别。
该实例存在,但数据库不存在。
我在实例中创建了数据库,现在一切正常。