相对于家庭或环境变量的Sqlalchemy sqlite url

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

sqlite数据库的相对sqlalchemy路径可以写成:

sqlite:///folder/db_file.db

并且绝对是:

sqlite:////home/user/folder/db_file.db

是否可以写一个相对于家庭的路径?像这样:

sqlite:///~/folder/db_file.db

或更妙的是,路径可以包含环境变量吗?

sqlite:////${MY_FOLDER}/db_file.db

这是alembic.ini文件的上下文。因此,如果先前的目标无法直接实现,我是否可以使用变量替换作弊?

[alembic]
script_location = db_versions
sqlalchemy.url = sqlite:///%(MY_FOLDER)s.db
...
sqlite sqlalchemy ini alembic
1个回答
0
投票

alembic documentation(强调我):

sqlalchemy.url-一个通过SQLAlchemy连接到数据库的URL。仅当env.py文件调用它们时才使用此配置值;在“通用”模板中,在run_migrations_offline()函数中对config.get_main_option(“ sqlalchemy.url”)的调用以及在run_migrations_online()函数中对engine_from_config(prefix =“ sqlalchemy。”)的调用是此键所在的位置参考。 如果SQLAlchemy URL应该来自其他来源,例如环境变量或全局注册表,或者如果迁移环境使用多个数据库URL,则鼓励开发人员更改env.py] >文件以使用适当的任何方法来获取数据库URL。

因此,在这种情况下,sqlalchemy url格式可以被python本身规避并生成。

© www.soinside.com 2019 - 2024. All rights reserved.