# Migrations de Base de Données Ce dossier contient les migrations SQL pour l'évolution de la base de données du générateur de cartes. ## Structure des fichiers Les fichiers de migration suivent le format de nommage : ``` NNN_description_migration.sql ``` Où : - `NNN` : numéro séquentiel à 3 chiffres (001, 002, 003, etc.) - `description_migration` : description courte en snake_case ## Comment exécuter les migrations ### Via phpMyAdmin (MAMP) 1. Ouvrez phpMyAdmin dans MAMP 2. Sélectionnez la base `map-generator` 3. Importez chaque fichier SQL dans l'ordre numérique ### Via ligne de commande MySQL ```bash # Se connecter à MySQL via MAMP /Applications/MAMP/Library/bin/mysql80/bin/mysql -u root -p -S /Applications/MAMP/tmp/mysql/mysql.sock map-generator # Exécuter une migration source migrations/001_create_maps_table.sql; source migrations/002_add_maps_indexes.sql; ``` ### Via script PHP Vous pouvez créer un script PHP pour automatiser l'exécution des migrations. ## Liste des migrations ### 001_create_maps_table.sql - Crée la table principale `maps` - Définit tous les champs nécessaires pour stocker les cartes - Ajoute les index de base ### 002_add_maps_indexes.sql - Ajoute des index supplémentaires pour optimiser les performances - Index fulltext pour la recherche - Index sur les dates et dimensions ## Bonnes pratiques - **Ne jamais modifier** une migration déjà exécutée - **Créer une nouvelle migration** pour chaque changement de schéma - **Tester les migrations** sur une base de développement avant la production - **Documenter** chaque migration avec sa date et description - **Sauvegarder** la base avant d'exécuter des migrations destructives ## Récupération d'urgence Si une migration cause des problèmes : 1. Restaurer la sauvegarde de la base 2. Vérifier le script de migration 3. Corriger et re-tester 4. Documenter le problème résolu