-- Renseignements structurés propres à chaque carte (couleurs/polices pour la charte
-- graphique, type de partenaire/script pour une autre carte, etc.) : le schéma des
-- champs vit dans le guide (card_guide.renseignements_json), les réponses de
-- l'artisan vivent dans actions.data — une ligne par (user, card) déjà unique.
ALTER TABLE actions
  ADD COLUMN data JSON NULL AFTER comment;

ALTER TABLE card_guide
  ADD COLUMN renseignements_json TEXT NULL;

-- Documents (images / fichiers de référence) attachés à une action, transversal
-- à toutes les cartes — galerie pour les images, liste de liens pour les documents.
CREATE TABLE IF NOT EXISTS action_documents (
  id          VARCHAR(40)  NOT NULL PRIMARY KEY,
  user_id     VARCHAR(40)  NOT NULL,
  card_id     VARCHAR(20)  NOT NULL,
  type        ENUM('image','document') NOT NULL DEFAULT 'image',
  url         VARCHAR(500) NOT NULL,
  filename    VARCHAR(255) NULL,
  caption     VARCHAR(255) NULL,
  sort_order  INT NOT NULL DEFAULT 0,
  created_at  DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
  INDEX idx_action_documents_user_card (user_id, card_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
