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)
- Ouvrez phpMyAdmin dans MAMP
- Sélectionnez la base
map-generator
- Importez chaque fichier SQL dans l'ordre numérique
Via ligne de commande MySQL
# 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 :
- Restaurer la sauvegarde de la base
- Vérifier le script de migration
- Corriger et re-tester
- Documenter le problème résolu