Есть три типа соединений: 1) ваш DEV машина на локальный экземпляр MySQL (Easy) 2) приложение двигатель экземпляр (в Google Cloud) к экземпляру Google Cloud SQL (то же самое путь, описанный в документе) 3) ваша машина-разработчик для экземпляра cloudql (Hard): поощряемый способ - получить статический IP-адрес (на какое-то время это не дорого стоит вам денег) и использовать IP для подключения экземпляра cloudql ,
Код Django [3] должен позволять вам переключаться между вышеуказанными случаями. Команда [1] позволяет синхронизировать с экземпляром cloudsql. Если вы хотите, чтобы ваша модель Джанго манипулировать данными в 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',
}
}
Не могли бы вы указать свой файл настроек и конфигурацию Google? Я думаю, вы не установили правильную базу данных. –
вам нужно отредактировать свои настройки, чтобы он использовал удаленный SQL db, а не локальный, их syncdb обновит удаленный db – user2266449
Спасибо! Как мне изменить текущие настройки? Я добавил их к вопросу. – Sticky