从Django app查询CloudSql的方法

时间:2014-11-11 22:44:59

标签: django google-cloud-sql

我正在尝试找到一种从我的Django应用程序查询Google Cloud SQL数据库的有效方法。此应用程序不在App Engine上托管,只在本地服务器上托管。

我找到了几个链接:

This one is a generic python connector

This answer提到了一种从本地Django应用程序中执行此操作的方法,但看起来它更适合测试。

我不打算将CloudSQL用作我的应用程序后端,只是偶尔查询它(可能每天都要读取一个CloudSQL表中的所有记录,并用结果更新本地数据库)

1 个答案:

答案 0 :(得分:0)

这是可能的,而不仅仅是测试。你想要这样的东西:

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'name_of_your_database',
    'USER': 'root',
    'PASSWORD': 'your_cloud_sql_root_password',
    'HOST': 'assigned_IP_of_your_cloud_sql_instance',
    'PORT': '3306',
  }
}

name_of_your_database是您使用CREATE DATABASE创建的数据库。

您可能还希望使用SSL来保护您的数据,因为它通过公共互联网。要执行此操作configure SSL for your instance,然后将以下内容添加到默认的django数据库选项:

    'OPTIONS':  {
      'ssl': {
        'ca': '<PATH TO CA CERT>',
        'cert': '<PATH TO CLIENT CERT>',
        'key': '<PATH TO CLIENT KEY>'
      }
    }