-- Tabelle applicative del modulo crmp_homepage_and_reports.
-- Nessun hook_schema, nessun file .install: il codice runtime assume che la tabella esista.
--
-- Sta qui e non nella root perche' non e' un file da eseguire su un ambiente: la tabella esiste in
-- produzione, quindi il sync del DB di staging la riporta da se'. Serve alla suite Kernel, che lo
-- esegue per costruire lo schema invece di ridichiarare la tabella nel test.


-- Cache dei report a livelli: una riga per cella calcolata, con i dati della riga in JSON e il
-- riferimento alla cella padre da cui e' stata espansa.
CREATE TABLE crmp_reports_cache (
  id INT NOT NULL AUTO_INCREMENT,
  level_type VARCHAR(25) DEFAULT NULL,
  ultimi_giorni TINYINT(1) NOT NULL DEFAULT 0,
  co_speciale TINYINT(1) NOT NULL DEFAULT 0,
  period_start_date DATE NOT NULL DEFAULT '1970-01-01',
  parent_cache_id INT DEFAULT NULL,
  row_data JSON NOT NULL,
  entity_id INT NOT NULL DEFAULT 0,
  PRIMARY KEY (id),
  KEY ultimi_giorni (ultimi_giorni),
  KEY parent_id (parent_cache_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
