You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions中Alembic读取数据库连接串遇KeyError问题求助

解决GitHub Actions中Alembic无法读取数据库连接串的问题

问题原因

你在GitHub Actions步骤中通过env字段设置了DATABASE_URL环境变量,但Alembic的配置文件(alembic.ini)里是从本地.env文件读取该变量——而GitHub Actions的运行环境中并没有这个文件,所以会触发KeyError: 'DATABASE_URL'。

解决方案

有两种可行的解决方式,推荐第一种更简洁的方案:

方案1:直接读取系统环境变量

修改alembic.ini中的代码,放弃从.env文件读取,改用读取系统环境变量:

import os
connection_string = os.environ.get("DATABASE_URL")

这样在本地开发时,你可以通过python-dotenv加载.env文件(自动将变量注入环境),在GitHub Actions中则直接读取步骤里设置的环境变量,两边都能正常工作。

方案2:在GitHub Actions中生成.env文件

如果坚持要保留从.env文件读取的逻辑,可以在执行迁移前先创建该文件并写入secrets:

- name: 创建.env文件
  run: echo "DATABASE_URL=${{ secrets.DEV_DATABASE_URL }}" > .env
- name: 执行Alembic迁移
  run: alembic upgrade head

内容的提问来源于stack exchange,提问作者eboraks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 20:22:40