Curso Python DGA 2011/acceso a datos/contenidos/sqlalchemy
De WikiEducator
< Curso Python DGA 2011 | acceso a datos | contenidos
Revisión a fecha de 10:24 4 sep 2011; Lmorillas (Discusión | contribuciones)
Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos. Ver página de charlas. |
SQLAlchemy
Elementos clave
- Sesiones
- Gestionan las conexiones contra la DB. Para optimizar el sistema SQLAlchemy mantiene un pool de conexiones persistentes contra la DB. Cuando se crea una sesión, se toma una del pool de conexiones. Cuando se cierra, se devuelve al pool.
- Mapper
- 'mapea' las estructuras y propiedades de la DB a objetos Python y viceversa.
- MetaData
- Engine
- Configura la conexión con la base de datos (usuario, password, nombre de la bbdd, motor, conexiones del pool, ...)
Proceso
- Crear engine
- Enlazar con el engine
- Usar el orm
Ejemplo de sesión:
# -*- coding: utf-8 -*- import os from sqlalchemy import create_engine, Metadata from sqlalchemy.orm import mapper, sessionmaker db = os.path.join(os.path.abspath(os.path.curdir), 'db.sql') engine = create_engine('sqlite:///%s' % db) meta = MetaData(bind=engine) Session = sessionmaker(bind=engine) session = Session() session.query(''' ... ''').all() session.close()