gpt4 book ai didi

python - SQLAlchemy 可以与 Google Cloud SQL 一起使用吗?

转载 作者:IT老高 更新时间:2023-10-28 20:57:04 25 4
gpt4 key购买 nike

我查看了 Google Cloud SQL 的文档和各种搜索,但我无法确定是否可以将 SQLAlchemy 与 Google Cloud SQL 一起使用,如果可以,连接 URI 应该是什么。

我正在寻找使用 Flask-SQLAlchemy 扩展并需要这样的连接字符串:mysql://username:password@server/db

我看到了 Django 示例,但配置使用的样式似乎与连接字符串不同。 https://developers.google.com/cloud-sql/docs/django

谷歌云 SQL 文档: https://developers.google.com/cloud-sql/docs/developers_guide_python

最佳答案

更新

Google Cloud SQL 现在支持直接访问,因此现在可以使用 MySQLdb 方言。通过 mysql 方言推荐的连接是使用 URL 格式:

mysql+mysqldb://root@/<dbname>?unix_socket=/cloudsql/<projectid>:<instancename>

mysql+gaerdbms has been deprecated从 1.0 版开始在 SQLAlchemy 中

我将在下面留下原始答案,以防其他人仍然觉得它有帮助。


对于那些稍后访问此问题(并且不想阅读所有评论)的人,SQLAlchemy 现在支持使用连接字符串/方言的 Google Cloud SQL 版本 0.7.8(请参阅:docs):

mysql+gaerdbms:///<dbname>

例如:

create_engine('mysql+gaerdbms:///mydb', connect_args={"instance":"myinstance"})

我提出了updatemysql+gaerdmbs:// 方言以支持 Google Cloud SQL API(rdbms_apiproxyrdbms_googleapi)从非 Google App Engine 生产实例(例如您的开发工作站)。该更改还将通过将项目和实例作为字符串的一部分来稍微修改连接字符串,并且不需要通过 connect_args 单独传递。

例如

mysql+gaerdbms:///<dbname>?instance=<project:instance>

这也将使您更容易将 Cloud SQL 与 Flask-SQLAlchemy 或其他您没有明确进行 create_engine() 调用的扩展一起使用。

如果您在从开发工作站连接到 Google Cloud SQL 时遇到问题,您可能想在此处查看我的答案 - https://stackoverflow.com/a/14287158/191902 .

关于python - SQLAlchemy 可以与 Google Cloud SQL 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10763171/

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