Descripción del curso SQLAlchemy
SQLAlchemy es el ORM (Object Relational Mapper) de referencia del ecosistema Python. Creado por Michael Bayer en 2006 y evolucionado hasta la versión 2.x, combina en una única API el Core (expresiones SQL construidas desde Python) y el ORM (modelos declarativos mapeados a tablas), con soporte nativo para type hints y para async/await.
SQLAlchemy es la capa de persistencia por defecto en FastAPI, Flask y proyectos Python enterprise. Soporta los principales dialectos relacionales (PostgreSQL, MySQL/MariaDB, SQLite, Oracle, SQL Server) con una capa de abstracción que mantiene el código portable entre motores.
Que incluye este itinerario
El curso esta organizado en 8 módulos progresivos que recorren desde los fundamentos hasta los patrones de producción:
- Fundamentos: arquitectura Core y ORM,
create_engine, URL de dialecto, transacciones básicas. - Modelos declarativos:
DeclarativeBase,Mapped,mapped_column, tipos modernos y constraints. - CRUD y transacciones:
Session, Unit of Work,add,flush,commit, savepoints. - Relaciones: One-to-Many, Many-to-One, Many-to-Many, One-to-One, cascade y
delete-orphan. - Consultas:
select()2.x,where, joins, agregados, subconsultas y window functions. - Rendimiento: lazy vs eager loading,
joinedload,selectinload, problema N+1, bulk operations y connection pool. - Alembic: migraciones con autogenerate, upgrade, downgrade y resolución de ramas.
- Async y testing:
AsyncEngine,AsyncSession, fixtures con pytest y Testcontainers.
Stack moderno (SQLAlchemy 2)
El curso adopta el estilo 2.x en todos los ejemplos:
- Modelos con
class Base(DeclarativeBase): passmasMapped[int]ymapped_column, sinColumn[int]legacy. - Consultas con
session.execute(select(...))ysession.scalars(...), sinsession.query(...)legacy. - Integración con Pydantic v2 (FastAPI), Flask-SQLAlchemy 3, SQLModel como opción en proyectos mixtos.
- Alembic 1.14+ con
compare_type=True, autogenerate deCHECKconstraints y soporte paraALTERen SQLite por batch. - Tipos avanzados en PostgreSQL:
JSONB,ARRAY,pgvectorpara casos de IA, UUID nativos, tipos temporales con zona horaria.
Documentación oficial
La documentación completa esta en https://docs.sqlalchemy.org/. Para Alembic, la referencia es https://alembic.sqlalchemy.org/. El código fuente y las issues estan en github.com/sqlalchemy/sqlalchemy.
Explorar más tecnologías
Descubre más tecnologías de programación y desarrollo de software
Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, SQLAlchemy es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.