2009-12-03 5 views
6

Me gustaría crear una tabla temporal en SQLAlchemy. Puedo construir una declaración CREATE TABLE con una cláusula TEMPORARY llamando al table._prefixes.append('TEMPORARY') contra un objeto Table, pero eso es menos elegante que table.select().prefix_with() usado para agregar un prefijo a expresiones de lenguaje de manipulación de datos.¿Puedo CREAR LA TABLA TEMPORAL en SQLAlchemy sin anexar Table._prefixes?

¿Hay un equivalente a .prefix_with() para DDL?

Respuesta

7

No, prefix_with() se define solo para SELECT e INSERTAR. Pero la manera conveniente de agregar el prefijo a la sentencia CREATE TABLE es pasarlo a la definición de la tabla:

t = Table(
    't', metadata, 
    Column('id', Integer, primary_key=True), 
    # ... 
    prefixes=['TEMPORARY'], 
) 
+1

Estaba tratando de crear una tabla temporal que pareciera una tabla reflejada. Resultó ser más problemático de lo que valía, tratando de derivar nuevos objetos de tabla de los existentes en lugar de crear una función que devuelva varios objetos de tabla similares. – joeforker

Cuestiones relacionadas