-- Migration: Création de la table maps
-- Date: 2025-10-12
-- Description: Table pour stocker les cartes hexagonales avec métadonnées et chemin vers le fichier JSON

CREATE TABLE IF NOT EXISTS `maps` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `name` VARCHAR(255) NOT NULL COMMENT 'Nom de la carte',
    `description` TEXT COMMENT 'Description optionnelle de la carte',
    `width` INT NOT NULL DEFAULT 10 COMMENT 'Largeur de la carte en hexagones',
    `height` INT NOT NULL DEFAULT 10 COMMENT 'Hauteur de la carte en hexagones',
    `data` JSON COMMENT 'Données sérialisées de la carte (statistiques, métadonnées)',
    `file_path` VARCHAR(500) COMMENT 'Chemin vers le fichier JSON stocké',
    `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 'Date de création',
    `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Date de dernière modification',

    -- Index pour optimiser les recherches
    INDEX `idx_name` (`name`),
    INDEX `idx_created_at` (`created_at`),
    INDEX `idx_width_height` (`width`, `height`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
COMMENT='Table des cartes hexagonales du générateur de cartes';