sqlite - Sqlalchemy sqlite url 相对于 home 或环境变量

标签 sqlite sqlalchemy ini alembic

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

sqlite:///folder/db_file.db

绝对的一个是:

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

可以写相对于home的路径吗?像这样:

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
...

最佳答案

我通过在 env.py 导入后修改 config 对象中的值解决了这个问题:

# this is the Alembic Config object, which provides
# access to the values within the .ini file in use.
config = context.config

# import my custom configuration
from my_app import MY_DB_URI
# overwrite the desired value
config.set_main_option("sqlalchemy.url", MY_DB_URI)

现在config.get_main_option("sqlalchemy.url")返回您想要的MY_DB_URI

关于sqlite - Sqlalchemy sqlite url 相对于 home 或环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59109682/

相关文章:

JavaScript AngularJS : Inner function cannot the variable value of outer function

ios - 如何在更新 iOS 应用程序时保存用户详细信息?

sqlalchemy - 我应该如何将 Plone 产品从 Collective.lead 移植到 z3c.saconfig?

c++在包含多键时 boost 解析ini文件

python - CentOS/Bluehost : Attempt to Write a Readonly Database, 上的 Django 除 777 外还使用哪个 Chmod?

android - 如何在不更改主键的情况下执行 SQL Insert 或 Replace like operator?

sqlalchemy - 在 SQLAlchemy 中将 alias() 用于 'select as'

python - 如何在 sqlalchemy execute 中传递原始 sql 中的当前日期

java - 创建.ini文件

vb.net - 在 VB.NET 中写入和读取 .ini 文件