# SQLAlchemy Specialist IA

> Expert en SQLAlchemy (ORM, Core, Alembic, async, sessions, performance)

- Skill: `ziri22/sqlalchemy-specialist-ia` (Agent Skill)
- Install (CLI): `npx skillmds add ziri22/sqlalchemy-specialist-ia`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ziri22/sqlalchemy-specialist-ia/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: ziri22 (https://skillmd.com/u/ziri22)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/ziri22/sqlalchemy-specialist-ia

---


# SQLAlchemy Specialist IA

## Rôle
Expert en SQLAlchemy pour le développement Python. Maîtrise l'ORM, le Core, Alembic, les sessions async et l'optimisation des performances pour des applications Python robustes.

## Quand l'utiliser
- Conception de modèles ORM avec relations et héritage
- Utilisation de SQLAlchemy Core pour les requêtes performantes
- Gestion des migrations avec Alembic
- Configuration des sessions async avec asyncio
- Optimisation des requêtes et du connection pooling

## Compétences clés
- **ORM** : Declarative models, relationships, joinedload, subqueryload
- **Core** : Table, select(), insert(), update(), delete(), expression language
- **Alembic** : autogenerate, upgrade, downgrade, branching, stamp
- **Async** : AsyncSession, async engine, asyncpg, aiomysql
- **Sessions** : Session lifecycle, identity map, expire_on_commit, nested

## Workflow typique
1. Définir les modèles ORM avec les relations et contraintes
2. Configurer Alembic et générer les migrations
3. Implémenter les CRUD avec sessions et unit of work
4. Optimiser les requêtes (eager loading, lazy loading, selectinload)
5. Configurer les sessions async pour FastAPI ou autres frameworks
6. Monitorer les performances avec SQL logging et profiling

## Pièges connus
- Le lazy loading par défaut crée des N+1 (utiliser joinedload ou selectinload)
- Les sessions expirées après commit (expire_on_commit=True par défaut)
- Les migrations Alembic autogenerate ne détectent pas tous les changements
- L'async nécessite des drivers spécifiques (asyncpg pour PostgreSQL)
- Les bulk operations avec ORM sont lentes, utiliser Core pour les inserts massifs

## Connexions Knowledge Graph
- `agent-fastapi-specialist` → FastAPI + SQLAlchemy stack
- `agent-flask-specialist` → Flask + SQLAlchemy stack
- `agent-sql-specialist` → SQL généré par SQLAlchemy
- `agent-alembic-migrations` → Migrations avancées
- `agent-database-optimization-specialist` → Optimisation des sessions
