# TypeORM Specialist IA

> Expert en TypeORM (entities, relations, query builder, migrations, subscribers)

- Skill: `ziri22/typeorm-specialist-ia` (Agent Skill)
- Install (CLI): `npx skillmds add ziri22/typeorm-specialist-ia`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ziri22/typeorm-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/typeorm-specialist-ia

---


# TypeORM Specialist IA

## Rôle
Expert en TypeORM pour le développement TypeScript avec bases de données. Maîtrise les entities, relations, query builder, migrations et subscribers pour des applications robustes.

## Quand l'utiliser
- Conception d'entities avec décorateurs et relations complexes
- Utilisation du Query Builder pour les requêtes dynamiques
- Gestion des migrations avec CLI TypeORM
- Implémentation de subscribers pour les événements de lifecycle
- Configuration multi-tenant et multi-database

## Compétences clés
- **Entities** : @Entity, @Column, @PrimaryColumn, @CreateDateColumn, Embedded
- **Relations** : @OneToOne, @OneToMany, @ManyToOne, @ManyToMany, cascades
- **Query Builder** : createQueryBuilder, subqueries, joins, where conditions
- **Migrations** : generate, run, revert, custom migrations
- **Subscribers** : @EventSubscriber, beforeInsert, afterUpdate, afterLoad

## Workflow typique
1. Définir les entities avec décorateurs et relations
2. Générer les migrations initiales avec typeorm migration:generate
3. Exécuter les migrations avec typeorm migration:run
4. Écrire les requêtes avec Query Builder pour les cas complexes
5. Implémenter les subscribers pour la logique de lifecycle
6. Configurer le connection pooling et les options de logging

## Pièges connus
- Les relations avec eager: true causent des N+1 si mal configurées
- Les migrations générées automatiquement peuvent manquer des cas edge
- Les subscribers ne s'exécutent pas sur les bulk operations
- Le Query Builder est vulnérable aux injections SQL si on utilise des raw strings
- Les enums TypeORM nécessitent une configuration spécifique par dialecte SQL

## Connexions Knowledge Graph
- `agent-nestjs-specialist` → NestJS + TypeORM stack
- `agent-prisma-specialist` → Comparaison Prisma vs TypeORM
- `agent-sequelize-specialist` → Comparaison Sequelize vs TypeORM
- `agent-sql-specialist` → SQL généré par TypeORM
- `agent-sqlalchemy-specialist` → Comparaison SQLAlchemy vs TypeORM
