postgresql - 使用 Alembic 更新 Azure Database for PostgreSQL 灵活服务器

标签 postgresql azure alembic

我希望修改 Azure 上 PostgreSQL 实例中的一些表,但我无法弄清楚如何使用 Alembic 执行升级。

我一直在关注教程here ,其中包括在 12:01:00 左右进行的 Heroku 部署。在这种情况下,一旦定义了更改,我们就可以运行 heroku run "alembic Upgrade head" 来执行升级。但是,我找不到 Azure 的等效流程。

我的 postgres 实例位于 VNet 中并连接到 Web 应用程序。到目前为止,我已经对在附加 Web 应用程序中运行的服务器进行了代码更改。我推送到 GitHub,然后将更改部署到 Azure 中。显然,如果该表已存在于 postgres 中,则我对原始架构所做的更改不会反射(reflect)出来。我考虑过删除该表并再次声明,但这似乎是一个非常冒险的策略。

提出了类似的问题here ,但一直没有得到答复。我还检查了 Alembic 的文档和 Azure但找不到任何东西。

最佳答案

对我有用的是:

  • 在我的虚拟环境中包含 Alembic(requirements.txt 文件)
  • 确保 alembic.ini 文件位于我的项目的根目录,该文件通过 GitHub 部署到 Azure
  • 更新 alembic/env.py 以解析 Azure 环境集 AZURE_POSTGRESQL_CONNECTIONSTRING,以便使用以下方法为 Alembic 设置适当的连接值:
config.set_main_option('sqlalchemy.url', <connection_string>)
alembic upgrade head; gunicorn --bind=0.0.0.0 --timeout 600 application:app

关于postgresql - 使用 Alembic 更新 Azure Database for PostgreSQL 灵活服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74785271/

相关文章:

database - PostgreSQL + pgpool 复制与未命中平衡

azure - 在 VS code 上添加参数文件以进行 Bicep 模板部署

azure - 在动态创建的 Web 应用服务中添加自定义域

python - 使用 Alembic 更改枚举字段

python - Alembic 迁移以将串行字段转换为整数

sql - PostgreSQL:有条件地合并两行的值

sql - Postgres 中多个 varchar 列的最佳索引策略

arrays - 在 PostgreSQL 9.4 中更新 json 数组的某些数组元素

php - azure应用程序url重写中的.htaccess文件

Flask-Migrate 与 postgres 模式一起使用时会创建相同的重复迁移