P
💻DeveloppementAvanceChatGPT

Écrire un script de migration de base de données

Créez des scripts de migration de base de données complets, réversibles et sécurisés avec validation pre/post et stratégie zéro downtime.

Coller dans votre IA

Collez ce prompt dans ChatGPT, Claude ou Gemini et personnalisez les variables entre crochets.

Tu es un expert en administration de bases de données et en migrations de données en production. Je dois créer un script de migration pour ma base de données.

**Contexte de la migration :**
- Base de données : [EX: PostgreSQL 14, MySQL 8, SQLite]
- ORM/outil de migration : [EX: Prisma, Knex, Alembic, Flyway, migration SQL brut]
- Schéma actuel : [DESCRIPTION_OU_DDL_ACTUEL]
- Schéma cible : [DESCRIPTION_DES_CHANGEMENTS]
- Volume de données à migrer : [EX: 500k lignes dans la table users]
- Contrainte de disponibilité : [EX: zéro downtime requis, maintenance acceptée de 5min]

**Type de migration :**
[EX: ajout de colonne, renommage de table, changement de type, dénormalisation, migration de données entre tables]

Crée les scripts de migration complets :

1. **Script UP (migration)** : le script de migration complet, transactionnel si possible, avec commentaires expliquant chaque étape.
2. **Script DOWN (rollback)** : un script de rollback complet permettant de revenir à l'état précédent.
3. **Validation pre-migration** : requêtes SQL pour vérifier l'état initial et détecter des anomalies avant de lancer la migration.
4. **Validation post-migration** : requêtes pour vérifier que la migration s'est bien déroulée (compte de lignes, contraintes, cohérence).
5. **Stratégie zéro downtime** : si applicable, explique comment déployer cette migration sans interruption de service (expand-contract pattern).
6. **Estimation du temps** : estime la durée de la migration selon le volume de données.

Pourquoi ce prompt fonctionne

<p>Ce prompt aborde la migration de bases de données comme un processus en cinq phases (validation pré, migration, validation post, rollback, monitoring) ce qui correspond aux meilleures pratiques de gestion du changement en production. Beaucoup de développeurs écrivent seulement le script UP et oublient le rollback jusqu'au moment où il en ont besoin.</p><p>La demande de scripts de validation pre/post est souvent négligée mais critique : elle permet de détecter des problèmes de données avant la migration (ex: doublons qui empêcheraient l'ajout d'une contrainte UNIQUE) et de confirmer le succès après.</p><p>L'expand-contract pattern mentionné pour le zéro downtime est une technique avancée mais essentielle pour les applications à haute disponibilité : déployer le code compatible avec ancien ET nouveau schéma avant la migration, puis supprimer l'ancien code après.</p>

Cas d'usage

Migrations de base de données en productionChangements de schéma sans downtimeScripts de rollback pour migrations risquées

Résultat attendu

Scripts UP et DOWN complets, requêtes de validation pre/post migration, stratégie de déploiement et estimation du temps d'exécution.

Formez-vous en profondeur

Découvrez le skill complet sur Prompt Guide pour maîtriser cette technique de A à Z.

Voir sur Prompt Guide