设置Django连接到Google Cloud SQL(MYSQL)

本文提供了一步一步的指导,如何在Django应用中配置GoogleCloudSQL作为数据库源,包括环境设置、数据库连接配置、同步表到云端数据库的方法,以及上传到GAE生产环境后的数据库使用流程。
部署运行你感兴趣的模型镜像

设置Django连接到Google Cloud SQL(MYSQL)

环境:

python2.7
GAE
Django1.5

目的:

将开发的Table反映到Google的数据库上。
然后上传到GAE生产环境时,可以正常使用数据库。

官方教程

https://cloud.google.com/appengine/docs/python/cloud-sql/django

设置数据库连接

Setting.py

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',
            'INSTANCE': 'your-instance-ip-address',
            'NAME': 'django_test',
            'USER': 'root',
            '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': 'password',
        }
    }

其中第一段为在GAE服务器端的连接GAE数据库的执行代码。
第二段为本地直接连接到GAE数据库的代码。
第三段为本地连接本地数据库的代码。
下面具体设置第二段

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': 'your-instance-ip-address', <- 关键字为HOST,设为数据库所在的IP地址
            'NAME': 'django_test',  <- 数据库名,需要在GAE上添加完毕
            'USER': 'root', <- 在GAE上设置完毕可以从本地访问的用户
            'PASSWORD': 'password', <- 密码
        }
    }

同步Table的步骤

  • 在GAE上添加数据库,添加本地IP,设置可以从本地的访问
  • 在GAE上设置可以从本地访问的用户,密码
  • 本地设置环境变量 SETTINGS_MODE=prod
  • 执行同步数据库 ./manage.py syncdb

执行完毕后,显示产生各个Table,将Django的Model反映到GAE的数据库上,
即可以现在使用GAE的数据库了。
上传到GAE服务器后,第一种方式也是可以正常使用了。


您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值