我正在使用SQLAlchemy的Alembic。在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
我担心我会不小心提交一个包含数据库用户名/密码信息的文件。 我宁愿将连接字符串存储在一个地方,避免意外将其提交到版本控制中。
我有哪些选项?
alembic.config
是一个内部使用的API,当使用alembic时不应该使用它:https://alembic.sqlalchemy.org/en/latest/api/config.html "本节讨论了Alembic的内部API,涉及内部配置结构。" - Eric Stdlib