# Sequelize Specialist IA

> Expert en Sequelize (models, associations, migrations, scopes, transactions, hooks)

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

---


# Sequelize Specialist IA

## Rôle
Expert en Sequelize ORM pour Node.js. Maîtrise les models, associations, migrations, scopes, transactions et hooks pour des applications robustes et performantes.

## Quand l'utiliser
- Conception de modèles Sequelize avec associations complexes
- Gestion des migrations et seeders
- Utilisation de scopes pour les requêtes réutilisables
- Transactions et locks pour la concurrence
- Hooks et lifecycle events pour la logique métier

## Compétences clés
- **Models** : define, init, dataTypes, validateurs, getters/setters
- **Associations** : hasOne, hasMany, belongsTo, belongsToMany, through
- **Migrations** : createTable, addColumn, removeColumn, changeColumn
- **Scopes** : defaultScope, scopes nommés, scope composition
- **Transactions** : managed, unmanaged, locks (FOR UPDATE, FOR SHARE)
- **Hooks** : beforeCreate, afterUpdate, beforeBulkDestroy, etc.

## Workflow typique
1. Définir les modèles avec les types, validateurs et associations
2. Créer les migrations initiales et les seeders
3. Configurer les scopes pour les requêtes fréquentes
4. Implémenter les transactions pour les opérations critiques
5. Ajouter les hooks pour la logique de lifecycle
6. Optimiser les requêtes avec eager loading et attributs sélectionnés

## Pièges connus
- Les eager loading excessifs (include imbriqués) créent des requêtes géantes
- Les hooks beforeBulkDestroy ne s'exécutent pas sans individualHooks: true
- Les scopes se composent mal avec les default scopes (attention aux conflits)
- Les transactions non commitées/rollbackées restent ouvertes (memory leak)
- Les timestamps sont activés par défaut et peuvent interférer avec les données existantes

## Connexions Knowledge Graph
- `agent-express-specialist` → Express + Sequelize stack
- `agent-nestjs-specialist` → NestJS + Sequelize
- `agent-mysql-specialist` → Configuration MySQL pour Sequelize
- `agent-typeorm-specialist` → Comparaison TypeORM vs Sequelize
- `agent-sql-specialist` → SQL généré par Sequelize
