我在用 Alembic 和 SQLAlchemy。使用 SQLAlchemy 时,我倾向于遵循一种模式,即不将连接字符串与版本化代码存储在一起。相反,我有包含任何机密信息的 secret.py
文件。我把这个文件名放到我的 .gitignore
中,这样它就不会出现在 GitHub 上。
这个模式工作得很好,但是现在我开始使用 Alembic 进行迁移。看来我无法隐藏连接字符串。相反,在 alembic.ini
中,将连接字符串放置为 配置参数:
# the 'revision' command, regardless of autogenerate
# revision_environment = false
sqlalchemy.url = driver://user:pass@localhost/dbname
# Logging configuration
[loggers]
keys = root,sqlalchemy,alembi
我担心我会不小心提交一个包含用户名/密码信息的文件到我的数据库中。我宁愿将这个连接字符串存储在一个单独的位置,以避免意外地将其提交给版本控制的风险。
我还有什么选择?