Alembic 与 Github Action

问题描述 投票:0回答:1

我是 GitHub Actions 的新手。

我正在尝试使用 SQLAlchemy 和 Alembic 部署 Python FastAPI,以便使用 App Engine 和 SQL Postgres 在 GCP 上进行数据库迁移。

我的问题是通过插入 env.py 文件中的数据库连接字符串来获取机密。这是我的设置:

  • Github 操作秘密:DEV_DATABASE_URL: 'postgres+pg8000://....'
  • 工作流程YML文件:
      - name: Run Alembic migrations
          run: alembic upgrade head
          env:
            DATABASE_URL: ${{ secrets.DEV_DATABASE_URL }}
  • Alembic.ini 文件:
      dotenv_config = dotenv_values(".env")
      connection_string = dotenv_config["DATABASE_URL"]

错误,我收到了

connection_string = dotenv_config["DATABASE_URL"]
KeyError: 'DATABASE_URL'
github-actions alembic
1个回答
0
投票

我认为您的 yaml 不会创建 .env 文件。 在 Alembic.ini 中试试这个

import os
connection_string = os.getenv('DATABASE_URL')

如果你有多个变量

env_dict = os.environ
© www.soinside.com 2019 - 2024. All rights reserved.