-- ============================================================================
-- V2 : Battlemaps de scene (export Foundry) + stockage fichier generique.
-- ============================================================================
-- Contexte : les "maps" (anciennement images attachees aux arcs/chapitres/scenes)
-- deviennent des "battlemaps" portees UNIQUEMENT par la scene, sous forme d'une
-- paire { media + sidecar JSON Universal VTT } stockee comme fichiers generiques
-- (table stored_files). Le media peut etre une video (.mp4) -> hors perimetre de
-- la table images (image/* + 10 Mo).
--
-- SQL ecrit en dialecte PostgreSQL ; rejoue tel quel sur H2 (MODE=PostgreSQL).

-- 1. Table des fichiers generiques (pendant de la table images).
create table stored_files (
    id bigint generated by default as identity,
    size_bytes bigint not null,
    uploaded_at timestamp(6) not null,
    content_type varchar(255) not null,
    filename varchar(255) not null,
    storage_key varchar(255) not null unique,
    primary key (id)
);

-- 2. La scene porte desormais une battlemap (2 refs StoredFile, nullables).
alter table scenes add column battlemap_media_file_id varchar(255);
alter table scenes add column battlemap_data_file_id varchar(255);

-- 3. Suppression des anciennes colonnes "cartes / plans".
--    Les maps ne vivent plus que sur la scene (via la battlemap ci-dessus).
alter table scenes drop column map_image_ids;
alter table arcs drop column map_image_ids;
alter table chapters drop column map_image_ids;
