谷歌应用引擎连接到云SQL postgres

2024-03-28 19:06:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个flask应用程序,可以使用flask_sqlalchemy和SQLITE DB在本地很好地运行

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///data.db'

我现在正在将其部署到谷歌应用程序引擎。 我已经在CloudSQL中创建了一个postgres db

如何连接到cloudsql数据库


Tags: 引擎configapp应用程序flaskdbsqlitedata
1条回答
网友
1楼 · 发布于 2024-03-28 19:06:25

您不需要在appengine中指定是使用标准环境还是flex环境,但一般来说,要将cloudsqlpostgres连接到appengine,您可以使用sqlalchemy库

Public Documentation中提取的参考代码。完整版本可在Cloud Platform GitHub中找到

# The SQLAlchemy engine will help manage interactions, including automatically
# managing a pool of connections to your database
db = sqlalchemy.create_engine(
    # Equivalent URL:
    # postgres+pg8000://<db_user>:<db_pass>@/<db_name>?unix_sock=/cloudsql/<cloud_sql_instance_name>/.s.PGSQL.5432
    sqlalchemy.engine.url.URL(
        drivername='postgres+pg8000',
        username=db_user,
        password=db_pass,
        database=db_name,
        query={
            'unix_sock': '/cloudsql/{}/.s.PGSQL.5432'.format(
                cloud_sql_connection_name)
        }
    ),
    # ... Specify additional properties here.
    # ...
)

相关问题 更多 >