有三种类型的连接:! 1)你的dev的机器到本地MySQL实例(简易) 2)你的应用程序引擎实例(在谷歌云)到谷歌云SQL实例(同文件中描述的方式) 3)您的开发机器为cloudsql实例(硬盘):鼓励的方式是获取静态IP(一段时间不花费您多少钱),并使用IP连接cloudsql实例。
Django代码[3]应该允许您在上述情况之间切换。命令[1]允许您将syncdb复制到cloudsql实例。如果你希望你的Django模型在CLOUDSQL情况下处理数据,您可以添加配置[2]的app.yaml
[1]
SETTING_MODE=prod ./manage.py syncdb
[2]
env_variables:
SETTINGS_MODE: prod
[3 ]
import os
if os.getenv('SERVER_SOFTWARE', '').startswith('Google App Engine'):
# Running on production App Engine, so use a Google Cloud SQL database.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': '/cloudsql/your-project-id:your-instance-name',
'NAME': 'django_test',
'USER': 'root',
}
}
elif os.getenv('SETTINGS_MODE') == 'prod':
# Running in development, but want to access the Google Cloud SQL instance
# in production.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': 'static-ip-of-cloudsql-instance',
'PORT': '3306',
'NAME': 'django_test',
'USER': 'username',
'PASSWORD': 'password'
}
}
else:
# Running in development, so use a local MySQL database.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django_test',
'USER': 'root',
'PASSWORD': 'root',
}
}
您能否显示您的settings.file和Google配置?我认为你没有设置正确的数据库。 –
你必须编辑你的设置,以便它使用远程SQL数据库而不是本地的它们syncdb将更新远程数据库 – user2266449
谢谢!我应该如何更改当前的设置?我将它们添加到了问题中。 – Sticky