use*_*336 4 sql sqlalchemy alembic
有人知道如何使用 create_view 函数使用 alembic upgrade 函数创建视图吗?例如,我们有:
CREATE VIEW myview AS
SELECT column_name(s)
FROM table_name
WHERE condition
Run Code Online (Sandbox Code Playgroud)
现在我们要在 alembic 升级函数脚本中定义一个视图来创建“myview”。如何意识到这一点?
谢谢。
我知道,这个问题太老了,当时可能不存在这种可能性。然而,对于所有现在提出这个问题的人来说:现在食谱中描述了一种可能性。
它通过为您提供诸如op.create_view、op.drop_view或等附加操作来利用对象(如视图和存储过程)的创建、删除和替换op.replace_view(myview, replaces="3f2ab897a.myview")。存储过程也是如此,也可以扩展为例如用户定义的函数。
视图定义如下:
myview = ReplaceableObject('myview',
"""
SELECT * FROM mytable
"""
)
Run Code Online (Sandbox Code Playgroud)
当然,所有这些也可以用简单的op.execute语句来完成,但是在这种情况下,alembic 负责DROP VIEW,CREATE VIEW和ALTER VIEW命令。