gpt4 book ai didi

python - 如何通过代理自动连接到Cloud SQL?

转载 作者:行者123 更新时间:2023-11-29 09:53:28 25 4
gpt4 key购买 nike

我在 settings.py 中设置了 mySQL 数据库,如下所示:

if os.getenv('GAE_APPLICATION', None):
# Running on production App Engine, so connect to Google Cloud SQL using
# the unix socket at /cloudsql/<your-cloudsql-connection string>
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': '/cloudsql/myApp:europe-west1:myApp-instance',
'NAME': 'myApp',
'USER': 'myApp',
'PASSWORD': 'myApp', }}
else:
# Running locally so connect to either a local MySQL instance or connect to
# Cloud SQL via the proxy. To start the proxy via command line:
#
# $ ./cloud_sql_proxy -instances="myApp:europe-west1:myApp-instance"=tcp:3306
#
# See https://cloud.google.com/sql/docs/mysql-connect-proxy
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': '127.0.0.1',
'PORT': '3306',
'NAME': 'myApp',
'USER': 'myApp',
'PASSWORD': 'myApp', }}

当我想在本地运行 myApp 时,我必须首先在终端上运行以下命令:

./cloud_sql_proxy -instances="myApp:europe-west1:myApp-instance"=tcp:3306

这很烦人...有办法将它集成到我的代码中吗?

例如,我会在设置中放置一些自动运行命令的内容,紧接在“else:”之后但我不知道我要写什么......有什么想法吗?可能吗?

最佳答案

使用os.system从Python代码运行shell命令:

os.system('./cloud_sql_proxy -instances=\"myApp:europe-west1:myApp-instance\"=tcp:3306')

子进程:

subprocess.call(['./cloud_sql_proxy -instances=\"myApp:europe-west1:myApp-instance\"=tcp:3306'], shell=True)

关于python - 如何通过代理自动连接到Cloud SQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54356772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com