-- ============================================================
--  Migración 2026-10-01_01 · Personal de contacto de clientes
-- ------------------------------------------------------------
--  Los clientes tipo empresa (tipo_cliente = 'juridico') pueden tener
--  varias personas de contacto. No se borran: se activan/desactivan
--  con `activo`. Si el cliente se elimina (solo posible cuando no
--  tiene cotizaciones), sus contactos se van con él (CASCADE).
--  Se gestionan desde el perfil: /ventas/clientes/{id}.
-- ============================================================
USE tinsa_db;

CREATE TABLE `cliente_contacto` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `id_cliente` int(10) unsigned NOT NULL,
  `nombre` varchar(150) NOT NULL,
  `cargo` varchar(100) DEFAULT NULL,
  `correo` varchar(150) DEFAULT NULL,
  `telefono` varchar(30) DEFAULT NULL,
  `nota` text DEFAULT NULL,
  `activo` tinyint(1) NOT NULL DEFAULT 1,
  `usuario_modifico` int(10) unsigned DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_cliente_contacto_cliente` (`id_cliente`, `activo`),
  KEY `fk_cliente_contacto_usuario_modifico` (`usuario_modifico`),
  CONSTRAINT `fk_cliente_contacto_cliente` FOREIGN KEY (`id_cliente`) REFERENCES `cliente` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_cliente_contacto_usuario_modifico` FOREIGN KEY (`usuario_modifico`) REFERENCES `usuarios` (`id_usuario`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
