Migration de Base de Données

VérifiéSûr

Gère les modifications de schéma de base de données et les migrations de données en toute sécurité. À utiliser lors de l'ajout ou de la modification de tables, colonnes, relations ou de transformations de données. Garantit des migrations réversibles, testées et sans perte de données.

Spar Skills Guide Bot
DeveloppementIntermédiaire
02/06/2026
Claude CodeCursorWindsurf
#database-migration#schema-management#reversible-migrations

Recommandé pour

Synthèse automatique

Gère les modifications de schéma de base de données et les migrations de données de manière sécurisée et réversible.

Points forts

  • Migration toujours réversible avec des instructions 'up' et 'down'
  • Une seule modification par migration pour éviter les conflits
  • Processus de test et sauvegarde avant production
  • Checklist pour les opérations dangereuses (renommage, suppression de colonnes)

Limites

  • Spécifique à Drizzle ORM (non compatible avec d'autres ORM directement)
  • Nécessite une bonne compréhension des schémas de base de données
  • Peut être lourd pour des migrations très simples
Quand l'utiliser

Lorsque vous devez ajouter, modifier ou supprimer des tables ou colonnes en toute sécurité, avec possibilité de rollback.

Quand l'éviter

Pour des changements de données ponctuels non réversibles ou des opérations de base de données qui ne nécessitent pas de migration structurée.

Analyse de sécurité

Sûr
Score qualité90/100

The skill provides standard, non-destructive database migration guidelines. It does not contain any instructions for exfiltration, disabling safety measures, or running obfuscated payloads. The mentioned commands are common development tools and do not pose a risk when used as intended.

Aucun point d'attention détecté

Comment cette analyse est faite

Exemples

Add user roles table
Generate a database migration to create a 'roles' table with columns id, name, and description. Follow the reversible migration pattern with up and down scripts.
Rename column safely
Create a migration to rename 'email' column to 'user_email' in the users table using the three-step approach: add new column, copy data, drop old column.

Skill: Database Migration

Description

Handles safe database schema changes and data migrations.

When to Use

  • Adding/modifying database tables or columns
  • Changing relationships between entities
  • Data transformations

Instructions

Migration Rules

  1. Always reversible — every migration needs an up and down
  2. One change per migration — don't bundle unrelated schema changes
  3. Test on dev first — never run untested migrations in production
  4. Backup before production — always have a rollback plan
  5. No data loss — add columns as nullable first, then backfill

Drizzle Workflow

# Generate migration from schema changes
npx drizzle-kit generate

# Review generated SQL in drizzle/ folder
# Apply migration
npx drizzle-kit push

# Or use migrate for production
npx drizzle-kit migrate

Naming Convention

YYYYMMDD_HHMMSS_description.sql Example: 20260212_143000_add_user_roles.sql

Dangerous Operations Checklist

  • [ ] Column rename → Create new, copy data, drop old (3-step)
  • [ ] Column type change → Verify data compatibility first
  • [ ] Drop table → Confirm no foreign key references
  • [ ] Add NOT NULL → Set default or backfill first

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/database-migration-mm5t8ch1/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/database-migration-mm5t8ch1' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/database-migration-mm5t8ch1/download' --output '.skill-downloads/database-migration-mm5t8ch1/SKILL.md.part' && mv '.skill-downloads/database-migration-mm5t8ch1/SKILL.md.part' '.skill-downloads/database-migration-mm5t8ch1/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Le fichier ne fournit pas un en-tête name/description exploitable pour cette procédure native. Le téléchargement reste disponible pour lecture ; utilisez le mode manuel ci-dessous.

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/database-migration-mm5t8ch1/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires