有三種類型的連接:! 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