我正在编写一个python脚本来使用SQLAlchemy创建postgres数据库。我也想以同样的方式创建存储过程。我检查了SQL Alchemy Documentations但是无法找到是否可以使用它来创建存储过程。有可能这样做吗?任何教程/示例都会有所帮助。我找到了一些如何使用SQLAlchemy调用SP的示例,而不是如何创建。
提前致谢。 塔拉辛格
答案 0 :(得分:9)
您可以使用sqlalchemy.sql.expression.text构建来创建stored procedures
(实际上,执行任何有效的SQL statement
):
t = text("SELECT * FROM users WHERE id=:user_id")
result = connection.execute(t, user_id=12)
但这更像是SQLAlchemy的附录而不是设计用法。
此外,这不能以独立于DMBS的方式完成,这是使用SQLAlchemy等ORM
工具的好处之一。
如果您的目标是对数据库模式进行版本控制,您仍然可以使用它,但是您需要完全控制此过程并处理stored procedures
,UDFs
,views
之间的依赖关系。并按正确的顺序创建/删除它们。