-- Base de datos para almacenar datos extraídos de empresas

-- Nota: Este esquema usa la BD trafikhub_web configurada en config/database.php
-- El esquema de países europeos está en paises_europa_schema.sql

CREATE DATABASE IF NOT EXISTS trafikhub_web CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

USE trafikhub_web;

-- Tabla principal de empresas
CREATE TABLE IF NOT EXISTS empresas (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(255) NOT NULL,
    direccion VARCHAR(500),
    ciudad VARCHAR(100),
    provincia VARCHAR(100),
    pais VARCHAR(100) DEFAULT 'España',
    telefono VARCHAR(50),
    whatsapp VARCHAR(50),
    web VARCHAR(255),
    fuente VARCHAR(100) NOT NULL,
    url_fuente TEXT,
    fecha_scrapeo TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    fecha_actualizacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    INDEX idx_nombre (nombre),
    INDEX idx_ciudad (ciudad),
    INDEX idx_fuente (fuente),
    INDEX idx_fecha_scrapeo (fecha_scrapeo)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Tabla para almacenar análisis de IA
CREATE TABLE IF NOT EXISTS analisis_ia (
    id INT AUTO_INCREMENT PRIMARY KEY,
    empresa_id INT NOT NULL,
    prompt_usado TEXT,
    respuesta_ia TEXT,
    informacion_extraida JSON,
    costo_tokens INT,
    modelo_usado VARCHAR(50),
    fecha_analisis TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (empresa_id) REFERENCES empresas(id) ON DELETE CASCADE,
    INDEX idx_empresa_id (empresa_id),
    INDEX idx_fecha_analisis (fecha_analisis)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Tabla para control de scraping
CREATE TABLE IF NOT EXISTS scraping_control (
    id INT AUTO_INCREMENT PRIMARY KEY,
    portal VARCHAR(100) NOT NULL,
    busqueda VARCHAR(255),
    pagina INT DEFAULT 1,
    total_resultados INT,
    fecha_ultimo_scrapeo TIMESTAMP,
    estado ENUM('completo', 'pendiente', 'error') DEFAULT 'pendiente',
    INDEX idx_portal (portal),
    INDEX idx_estado (estado)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

