up
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
-- ============================================================
|
||||
-- Migration: 20260302_lab_01_pacientes
|
||||
-- Módulo Administrativo: Pacientes del laboratorio
|
||||
-- Extiende la tabla users (contactos WhatsApp existentes)
|
||||
-- ============================================================
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `lab_pacientes` (
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`user_id` INT(11) DEFAULT NULL COMMENT 'FK a users.id (teléfono WhatsApp)',
|
||||
`numero_documento` VARCHAR(30) DEFAULT NULL COMMENT 'Cédula / NIT / Pasaporte',
|
||||
`tipo_documento` ENUM('CC','CE','TI','PA','NIT','RC','MS') DEFAULT 'CC',
|
||||
`nombre_completo` VARCHAR(150) NOT NULL,
|
||||
`telefono` VARCHAR(20) DEFAULT NULL,
|
||||
`email` VARCHAR(100) DEFAULT NULL,
|
||||
`fecha_nacimiento` DATE DEFAULT NULL,
|
||||
`genero` ENUM('M','F','O') DEFAULT NULL,
|
||||
`direccion` TEXT DEFAULT NULL,
|
||||
`ciudad` VARCHAR(100) DEFAULT NULL,
|
||||
`barrio` VARCHAR(100) DEFAULT NULL,
|
||||
`eps` VARCHAR(100) DEFAULT NULL COMMENT 'Entidad promotora de salud',
|
||||
`notas_admin` TEXT DEFAULT NULL COMMENT 'Notas internas del administrador',
|
||||
`is_active` TINYINT(1) NOT NULL DEFAULT 1,
|
||||
`created_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uq_numero_documento` (`numero_documento`),
|
||||
KEY `idx_user_id` (`user_id`),
|
||||
KEY `idx_nombre` (`nombre_completo`),
|
||||
KEY `idx_telefono` (`telefono`),
|
||||
KEY `idx_documento` (`numero_documento`),
|
||||
CONSTRAINT `fk_lab_pac_user` FOREIGN KEY (`user_id`)
|
||||
REFERENCES `users` (`id`) ON DELETE SET NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
||||
COMMENT='Pacientes del laboratorio (módulo administrativo)';
|
||||
Reference in New Issue
Block a user