-- Base MASTER du multi-clients (sstm_master).
-- Une seule par serveur : elle liste les clients (tenants) et journalise
-- les migrations appliquees a chaque base client.

CREATE DATABASE IF NOT EXISTS sstm_master DEFAULT CHARSET=utf8mb4;
USE sstm_master;

CREATE TABLE IF NOT EXISTS tenant (
  id int(11) NOT NULL AUTO_INCREMENT,
  code varchar(50) NOT NULL COMMENT 'sous-domaine : code.mondomaine.ma',
  nom varchar(255) NOT NULL,
  db_host varchar(100) NOT NULL DEFAULT 'localhost',
  db_name varchar(100) NOT NULL,
  db_user varchar(100) DEFAULT NULL COMMENT 'NULL = credentials du master',
  db_pass varchar(255) DEFAULT NULL,
  etat tinyint(1) NOT NULL DEFAULT 1 COMMENT '1=actif 0=suspendu',
  date_creation datetime NOT NULL,
  date_expiration date DEFAULT NULL,
  PRIMARY KEY (id),
  UNIQUE KEY code (code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS migration_log (
  id int(11) NOT NULL AUTO_INCREMENT,
  id_tenant int(11) NOT NULL,
  migration varchar(255) NOT NULL,
  date_execution datetime NOT NULL,
  PRIMARY KEY (id),
  UNIQUE KEY tenant_migration (id_tenant, migration)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
