-- Migration 003 — galerie d'images par projet.
--
-- Sous Windows + Git Bash, appliquer avec :
--   mysql --default-character-set=utf8mb4 -uinfolab -p infolab < migrations/003_add_project_images.sql
-- En prod, c'est apply.sh dans le conteneur (charset utf8mb4 OK par défaut).

SET NAMES utf8mb4;

CREATE TABLE IF NOT EXISTS project_images (
    id              BIGINT UNSIGNED  NOT NULL AUTO_INCREMENT,
    project_id      BIGINT UNSIGNED  NOT NULL,
    url             VARCHAR(1024)    NOT NULL,
    caption         VARCHAR(255)     NULL,
    sort_order      INT UNSIGNED     NOT NULL DEFAULT 0,
    -- Métadonnées remplies par le backend quand l'image est uploadée
    -- depuis le disque (sinon URL externe → ces colonnes restent NULL).
    storage_path    VARCHAR(512)     NULL,   -- chemin relatif au docroot Apache, ex: uploads/projects/nos-ecoles/abc123.jpg
    mime_type       VARCHAR(64)      NULL,
    size_bytes      INT UNSIGNED     NULL,
    width           INT UNSIGNED     NULL,
    height          INT UNSIGNED     NULL,
    created_at      DATETIME         NOT NULL DEFAULT CURRENT_TIMESTAMP,
    updated_at      DATETIME         NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id),
    KEY idx_image_project (project_id, sort_order),
    CONSTRAINT fk_image_project FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
