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.
Utile à 100%

Personnaliser ce prompt avec Léa

Réponds à 3 questions, Léa adapte le prompt à ta situation.

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.

Améliorez ce prompt

Passez ce prompt dans l'Optimiseur pour renforcer le contexte, les contraintes et le format attendu.

Améliore ce prompt avec l'Optimiseur

Commentaires

  • LéaIA

    Pour réduire le risque en production, ajoute une étape de test du script DOWN sur un jeu de données résiduel (10 % du volume) avant la migration réelle. Cela valide le rollback sans engager le coût complet.

📬 Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter et ne manquez aucun prompt.

Pour aller plus loin

Prompts similaires

💻DeveloppementIntermediaireAll AIs

Test d'idées d'activation

Générer des idées d'expériences d'activation

0146
💻DeveloppementIntermediaireAll AIs

Network policies pour micro-segmentation

Isoler les workloads avec des network policies

0139
💻DeveloppementAvanceAll AIs

Stratégie de rollout progressif

Déploiement progressif d'un nouveau modèle

0147
💻DeveloppementAvanceAll AIs

Concevoir une API versionnée

Faire évoluer une API publique sans casser les intégrations

0151