alembic_utils create_entity 如果不存在

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

类似于alembic create_table,检查表是否存在 然而,这个问题是为了创建像扩展这样的实体。使用反射的表解决方案似乎不适用于扩展,因为我看不到通过该 https://docs.sqlalchemy.org/en/14/core/ 获取现有已安装扩展列表的方法reflection.html

去看看我是否可以运行查询以获取连接上的列表。还有其他想法吗?如果 create_entity 有一个 if_not_exists 选项只在它不存在时才这样做,那就太好了。

我这里的用例涉及通过 alembic 在数据库中创建一个新模式,该模式通过 Liquibase 创建。我们正在从那个工具转向这个工具。最终完全删除旧模式等。对于现有数据库,uuid-ossp 扩展已经存在。对于我们只有新的基于 alembic 的模式的新数据库,它不会存在。在这两种情况下都需要工作。

python postgresql sqlalchemy alembic
© www.soinside.com 2019 - 2024. All rights reserved.