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

📬 Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter et ne manquez aucun prompt.

Prompts similaires

💻DeveloppementIntermediaireAll AIs

Prompt pour débugger votre code Python avec ChatGPT

Un prompt structuré pour obtenir une analyse complète de vos bugs Python : identification, explication de la cause racine, correction commentée et conseils de prévention.

0178
💻DeveloppementIntermediaireAll AIs

Prompt pour écrire des scripts Bash professionnels et robustes

Un prompt complet pour générer des scripts Bash robustes et professionnels, avec gestion d'erreurs, parsing d'arguments et bonnes pratiques intégrées.

071
💻DeveloppementIntermediaireAll AIs

Écrire des tests unitaires complets

Générez une suite de tests unitaires exhaustive couvrant les cas nominaux, les cas limites et les erreurs avec des mocks appropriés.

22235
💻DeveloppementIntermediaireClaude

Créer un composant React accessible

Créez des composants React pleinement accessibles respectant WCAG 2.1 avec navigation clavier, ARIA et support des lecteurs d'écran.

26219