2010-07-27 29 views
6

Estoy escribiendo una secuencia de comandos python para crear la base de datos postgres utilizando SQLAlchemy. También quiero crear procedimientos almacenados de la misma manera. Revisé las Documentaciones SQL Alchemy, pero no pude encontrar si puedo crear un procedimiento almacenado utilizándolo o no. ¿Es posible hacerlo? cualquier Tutorial/Ejemplos ayudaría. Encontré algunos ejemplos de cómo llamar a SP usando SQLAlchemy pero no sobre cómo crear.Creación de procedimientos almacenados con SQLAlchemy

Gracias de antemano. Tara Singh

+0

La mayoría de las herramientas ORM proporcionan mecanismos para utilizar procesos almacenados, pero no para crearlos, ya que el lenguaje para crear procesos almacenados tiende a estar estrechamente vinculado a la base de datos en cuestión. – ig0774

Respuesta

7

puede crear stored procedures (en realidad, ejecutar cualquier válida SQL statement) mediante el uso de sqlalchemy.sql.expression.text construcción:

t = text("SELECT * FROM users WHERE id=:user_id") 
result = connection.execute(t, user_id=12) 

Pero esto va a ser más de un apéndice a la SQLAlchemy lugar de uso diseñada.
Además, esto no se puede hacer de forma independiente de DMBS, que es una de las ventajas de utilizar las herramientas ORM, como SQLAlchemy.
Si su objetivo es controlar la versión de su esquema de base de datos, aún puede usarlo, pero debe controlar completamente este proceso y manejar cosas como las dependencias entre stored procedures, UDFs, views y crearlas/soltarlas en el orden correcto.

Cuestiones relacionadas