-- ===============================================================================
-- TABLE ENERGY-CHARTS DAY-AHEAD PRICES
-- ===============================================================================
-- Description: Prix Day-Ahead électricité via API Energy-Charts (Fraunhofer Institute)
-- Source: https://api.energy-charts.info/ - API publique gratuite
-- Données: Prix spot électricité par zone européenne et par heure
-- Avantage: Pas de clé API requise, accès immédiat
-- ===============================================================================

CREATE TABLE IF NOT EXISTS `dm_energy_charts_dayahead` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    
    -- Identification temporelle
    `unix_timestamp` BIGINT(20) NOT NULL COMMENT 'Timestamp Unix (millisecondes)',
    `datetime_utc` DATETIME NOT NULL COMMENT 'Date/heure UTC',
    `datetime_local` DATETIME NOT NULL COMMENT 'Date/heure locale (Europe/Paris)',
    `delivery_date` DATE NOT NULL COMMENT 'Date de livraison',
    `delivery_hour` TINYINT(2) NOT NULL COMMENT 'Heure de livraison (0-23)',
    
    -- Zone géographique
    `bidding_zone` VARCHAR(10) NOT NULL COMMENT 'Code zone (DE, FR, BE, NL, IT, ES, AT, CH, PL...)',
    `country_name` VARCHAR(50) NOT NULL COMMENT 'Nom du pays',
    
    -- Prix
    `price` DECIMAL(12,4) NULL COMMENT 'Prix Day-Ahead (EUR/MWh)',
    `currency` VARCHAR(3) DEFAULT 'EUR' COMMENT 'Devise du prix',
    
    -- Métadonnées
    `source` VARCHAR(50) DEFAULT 'energy-charts' COMMENT 'Source données',
    `api_response_time` DATETIME NULL COMMENT 'Timestamp réponse API',
    `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 'Date insertion en base',
    `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    
    PRIMARY KEY (`id`),
    
    -- Clé unique : pas de doublons pour une zone + timestamp
    UNIQUE KEY `uk_zone_timestamp` (`bidding_zone`, `unix_timestamp`),
    
    -- Index pour performances
    KEY `idx_delivery_date` (`delivery_date`),
    KEY `idx_datetime_local` (`datetime_local`),
    KEY `idx_bidding_zone` (`bidding_zone`),
    KEY `idx_zone_date` (`bidding_zone`, `delivery_date`),
    KEY `idx_created_at` (`created_at`)
    
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
COMMENT='Prix Day-Ahead électricité Energy-Charts par zone européenne';

-- ===============================================================================
-- CODES ZONES DISPONIBLES (Energy-Charts)
-- ===============================================================================
-- DE = Germany (Deutschland)
-- FR = France
-- BE = Belgium
-- NL = Netherlands
-- IT = Italy
-- ES = Spain
-- AT = Austria
-- CH = Switzerland
-- PL = Poland
-- CZ = Czech Republic
-- DK = Denmark
-- NO = Norway
-- SE = Sweden
-- ===============================================================================
