SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
-- -----------------------------------------------------
USE `control_frigo`;
-- -----------------------------------------------------
-- Table `control_frigo`.`clientes_stock_diario`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `control_frigo`.`clientes_stock_diario` (
    `id` INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
    `cliente_id` INT(3) UNSIGNED NOT NULL,
    `informado_por` INT(2) UNSIGNED NOT NULL,
    `tons_frigorifico` DECIMAL(8,3) NOT NULL DEFAULT 0,
    `tons_patio` DECIMAL(8,3) NOT NULL DEFAULT 0,
    `fecha` DATE NOT NULL,
    PRIMARY KEY (`id`),
    UNIQUE `unique_cliente_diario` (`cliente_id`, `fecha`),
    INDEX `fk_clientes_stock_diario_clientes` (`cliente_id` ASC) ,
    INDEX `fk_clientes_stock_diario_informador` (`informado_por` ASC) ,
    CONSTRAINT `fk_clientes_stock_diario_clientes`
        FOREIGN KEY (`cliente_id` )
        REFERENCES `control_frigo`.`clientes` (`id` )
        ON DELETE CASCADE   
        ON UPDATE RESTRICT,
    CONSTRAINT `fk_clientes_stock_diario_informador`
        FOREIGN KEY (`informado_por` )
        REFERENCES `control_frigo`.`sistema_usuarios` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE  
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;  
-- -----------------------------------------------------
-- Table `control_frigo`.`faenas`
-- TIPO : Recepción, Despacho, Inspección
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `control_frigo`.`faenas` (
    `id` INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
    `cliente_id` INT(3) UNSIGNED NOT NULL,
    `tipo_id` INT(2) UNSIGNED NOT NULL, 
    `numero_tarja_sistema` INT UNSIGNED NULL,
    `nombre` VARCHAR(40) NULL,
    `folio` VARCHAR(20) NULL,
    `creada_por` INT(2) UNSIGNED NOT NULL,      -- Control de carga / Jefe de Turno
    `creada_fecha` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    `solicitado_por` INT(3) UNSIGNED NOT NULL,
    `solicitado_fecha` DATE NOT NULL,
    `transporte_patente` VARCHAR(8) NULL,
    `transporte_contenedor` VARCHAR(30) NULL,
    `transporte_sello` VARCHAR(30) NULL,
    `transporte_procedencia_id` INT(2) UNSIGNED NULL,
    `transporte_destino_id` INT(2) UNSIGNED NULL,
    `transporte_guia_emisor` INT UNSIGNED NULL,
    `transporte_guia_numero` INT UNSIGNED NULL,
    `transporte_conductor_nombre` VARCHAR(100) NULL,
    `transporte_conductor_rut` VARCHAR(15) NULL,
    `transporte_conductor_telefono` VARCHAR(9) NULL,
    `transporte_llegada_fecha` DATE NULL,
    `transporte_llegada_hora` TIME NULL,
    `transporte_llegada_informado_por` INT(2) UNSIGNED NULL,
    `transporte_salida_fecha` DATE NULL,
    `transporte_salida_hora` TIME NULL,
    `transporte_salida_informado_por` INT(2) UNSIGNED NULL,
    `transporte_salida_comentarios` TEXT NULL,
    `programacion_fecha` DATE NULL,
    `programacion_hora` TIME NULL,
    `programacion_bloques` INT(2) UNSIGNED NULL,
    `programacion_anden_id` INT(2) UNSIGNED NULL,
    `programacion_complejidad` ENUM('BAJA', 'MEDIA', 'ALTA') NOT NULL DEFAULT 'BAJA',
    `programacion_horas_estimadas` DECIMAL(4,2) UNSIGNED NOT NULL DEFAULT 0,
    `programacion_suspension_causal_id` INT(2) UNSIGNED NULL,
    `programacion_suspension_comentarios` TEXT NULL,
    `resumen_inicio_timestamp` TIMESTAMP NULL DEFAULT NULL,
    `resumen_inicio_atraso_causal_id` INT(2) UNSIGNED NULL,
    `resumen_inicio_atraso_comentarios` TEXT NULL,
    `resumen_cierre_timestamp` TIMESTAMP NULL DEFAULT NULL,
    `resumen_temperatura_promedio` DECIMAL(4,2) NOT NULL,
    `resumen_anden_id` INT(2) UNSIGNED NULL,
    `resumen_informe` TEXT NULL,
    `estado` ENUM('BORRADOR', 'PROGRAMADA', 'CANCELADA', 'NO CONCRETADA', 'ESPERANDO ANDEN', 'EN CURSO', 'TERMINADA') NOT NULL DEFAULT 'BORRADOR',
    `cerrada` ENUM('SI', 'NO') NOT NULL DEFAULT 'NO',
    `facturacion_year` YEAR NULL,
    `facturacion_month` INT(4) UNSIGNED ZEROFILL NULL,
    PRIMARY KEY (`id`),
    UNIQUE `unique_tarja_sistema` (`numero_tarja_sistema`),
    UNIQUE `unique_guia_transporte` (`transporte_guia_emisor`, `transporte_guia_numero`),
    INDEX `fk_faenas_clientes` (`cliente_id` ASC) ,
    INDEX `fk_faenas_tipos` (`tipo_id` ASC) ,
    INDEX `fk_faenas_andenes_programados` (`programacion_anden_id` ASC) ,
    INDEX `fk_faenas_andenes_asignados` (`resumen_anden_id` ASC) ,
    INDEX `fk_faenas_creadores` (`creada_por` ASC) ,
    INDEX `fk_faenas_procedencias_transportes` (`transporte_procedencia_id` ASC) ,
    INDEX `fk_faenas_destinos_transportes` (`transporte_destino_id` ASC) ,
    INDEX `fk_faenas_solicitado_por` (`solicitado_por` ASC) ,
    INDEX `fk_faenas_llegadas_informadores` (`transporte_llegada_informado_por` ASC) ,
    INDEX `fk_faenas_salidas_informadores` (`transporte_salida_informado_por` ASC) ,
    INDEX `fk_faenas_solicitado_por` (`solicitado_por` ASC) ,
    INDEX `fk_faenas_suspensiones` (`programacion_suspension_causal_id` ASC) ,
    CONSTRAINT `fk_faenas_clientes`
        FOREIGN KEY (`cliente_id` )
        REFERENCES `control_frigo`.`clientes` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE,     
    CONSTRAINT `fk_faenas_tipos`
        FOREIGN KEY (`tipo_id` )
        REFERENCES `control_frigo`.`faenas_tipos` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE,
    CONSTRAINT `fk_faenas_andenes_programados`
        FOREIGN KEY (`programacion_anden_id` )
        REFERENCES `control_frigo`.`andenes` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE,
    CONSTRAINT `fk_faenas_andenes_asignados`
        FOREIGN KEY (`resumen_anden_id` )
        REFERENCES `control_frigo`.`andenes` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE,    
    CONSTRAINT `fk_faenas_creadores`
        FOREIGN KEY (`creada_por` )
        REFERENCES `control_frigo`.`sistema_usuarios` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE,
    CONSTRAINT `fk_faenas_procedencias_transportes`
        FOREIGN KEY (`transporte_procedencia_id` )
        REFERENCES `control_frigo`.`procedencia_transportes` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE, 
    CONSTRAINT `fk_faenas_destinos_transportes`
        FOREIGN KEY (`transporte_destino_id` )
        REFERENCES `control_frigo`.`destinos_transportes` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE, 
    CONSTRAINT `fk_faenas_solicitado_por`
        FOREIGN KEY (`solicitado_por` )
        REFERENCES `control_frigo`.`sistema_usuarios` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE, 
    CONSTRAINT `fk_faenas_llegadas_informadores`
        FOREIGN KEY (`transporte_llegada_informado_por` )
        REFERENCES `control_frigo`.`sistema_usuarios` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE, 
    CONSTRAINT `fk_faenas_salidas_informadores`
        FOREIGN KEY (`transporte_salida_informado_por` )
        REFERENCES `control_frigo`.`sistema_usuarios` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE,     
    CONSTRAINT `fk_faenas_suspensiones`
        FOREIGN KEY (`programacion_suspension_causal_id` )
        REFERENCES `control_frigo`.`faenas_causales_suspensiones` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
-- -----------------------------------------------------
-- Table `control_frigo`.`faenas_cargas`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `control_frigo`.`faenas_cargas` (
    `id` INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
    `faena_id` INT(6) UNSIGNED NULL,
    `carga_tipo_caja_id` INT(2) UNSIGNED NOT NULL,
    `carga_paletizada` ENUM('SI','NO') NOT NULL DEFAULT 'NO',
    `carga_cantidad_cajas` INT UNSIGNED NOT NULL  DEFAULT 0,
    `carga_cantidad_pallets` INT UNSIGNED NOT NULL  DEFAULT 0,
    `carga_requiere_preembarque` ENUM('SI','NO') NOT NULL DEFAULT 'NO',
    `carga_inspeccion_cajas` INT NOT NULL DEFAULT 0,
    `carga_etiquetado_confeccion` INT NOT NULL DEFAULT 0,
    `carga_etiquetado_pegado` INT NOT NULL DEFAULT 0,
    `programacion_horas_estimadas` DECIMAL(3,1) NOT NULL DEFAULT 0,
    `programacion_bloques` INT(2) UNSIGNED NULL,
    `programacion_complejidad` ENUM('BAJA', 'MEDIA', 'ALTA') NOT NULL DEFAULT 'BAJA',
    `programacion_factor_complejidad` DECIMAL(4,2) UNSIGNED NOT NULL DEFAULT 1.00,
    PRIMARY KEY (`id`),
    INDEX `fk_faenas_cargas_faenas` (`faena_id` ASC) ,
    INDEX `fk_faenas_tipos_cajas` (`carga_tipo_caja_id` ASC) ,
    CONSTRAINT `fk_faenas_cargas_faenas`
        FOREIGN KEY (`faena_id` )
        REFERENCES `control_frigo`.`faenas` (`id` )
        ON DELETE CASCADE   
        ON UPDATE CASCADE,
    CONSTRAINT `fk_faenas_tipos_cajas`
        FOREIGN KEY (`carga_tipo_caja_id` )
        REFERENCES `control_frigo`.`tipos_caja` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
-- -----------------------------------------------------
-- Table `control_frigo`.`faenas_movimientos`
-- TIPO: Carga, Descarga, Separación
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `control_frigo`.`faenas_movimientos` (
    `id` INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
    `faena_id` INT(6) UNSIGNED NOT NULL,
    `inicio_fecha` DATE NOT NULL,
    `inicio_hora` TIME NOT NULL,
    `inicio_informado_por` INT(2) UNSIGNED NOT NULL,
    `tipo` ENUM('CAMION_CARGA', 'CAMION_DESCARGA', 'CONTENEDOR_CARGA', 'CONTENEDOR_DESCARGA', 'INSPECCION_SEPARACION', 'PREEMBARQUE') NULL DEFAULT NULL,
    `supervisor_id` INT(2) UNSIGNED NOT NULL,   
    `contratista_id` INT(2) UNSIGNED NOT NULL, 
    `cierre_fecha` DATE NULL,
    `cierre_hora` TIME NULL,
    `cierre_informado_por` INT(2) UNSIGNED NULL,
    `numero_tarja_manual` INT(7) UNSIGNED ZEROFILL NULL,
    `resumen_pallets` INT(2)  DEFAULT 0,
    `resumen_tons_normal` DECIMAL(6,3) UNSIGNED NOT NULL  DEFAULT 0,
    `resumen_tons_extra` DECIMAL(6,3) UNSIGNED NOT NULL  DEFAULT 0,
    `resumen_tons_sitrans_costo` DECIMAL(6,3) UNSIGNED NOT NULL  DEFAULT 0,
    `resumen_tons_sitrans_comentarios` TEXT NULL,
    `resumen_horas_normal` DECIMAL(4,2) UNSIGNED NOT NULL  DEFAULT 0,
    `resumen_horas_habilitacion` DECIMAL(4,2) UNSIGNED NOT NULL  DEFAULT 0,
    `resumen_horas_sitrans_costo` DECIMAL(4,2) UNSIGNED NOT NULL DEFAULT 0,
    `resumen_horas_sitrans_comentarios` TEXT NULL,
    `resumen_temperatura_promedio` DECIMAL(4,2) NOT NULL,
    `resumen_temperatura_muestras` TEXT NULL,
    `resumen_cajas_reempacadas` INT UNSIGNED NOT NULL DEFAULT 0,
    `resumen_cajas_inspeccionadas` INT UNSIGNED NOT NULL DEFAULT 0,
    `resumen_extras_comentarios` TEXT NULL,
    `resumen_etiquetado_confeccion` INT(6) UNSIGNED NOT NULL DEFAULT 0,
    `resumen_etiquetado_instalacion` INT(6) UNSIGNED NOT NULL DEFAULT 0,
    `resumen_etiquetado_sacado` INT(6) UNSIGNED NOT NULL DEFAULT 0,
    `estado` ENUM('EN CURSO', 'TERMINADO') NOT NULL DEFAULT 'EN CURSO',
    PRIMARY KEY (`id`),
    UNIQUE `unique_tarja_manual` (`numero_tarja_manual`),
    INDEX `fk_faenas_movimientos_faenas` (`faena_id` ASC) ,
    INDEX `fk_faenas_movimientos_inicios` (`inicio_informado_por` ASC) ,
    INDEX `fk_faenas_movimientos_supervisores` (`supervisor_id` ASC) ,
    INDEX `fk_faenas_movimientos_contratistas` (`contratista_id` ASC) ,
    INDEX `fk_faenas_movimientos_cierres` (`cierre_informado_por` ASC) ,
    CONSTRAINT `fk_faenas_movimientos_faenas`
        FOREIGN KEY (`faena_id` )
        REFERENCES `control_frigo`.`faenas` (`id` )
        ON DELETE CASCADE   
        ON UPDATE CASCADE,
    CONSTRAINT `fk_faenas_movimientos_inicios`
        FOREIGN KEY (`inicio_informado_por` )
        REFERENCES `control_frigo`.`sistema_usuarios` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE,
    CONSTRAINT `fk_faenas_movimientos_supervisores`
        FOREIGN KEY (`supervisor_id` )
        REFERENCES `control_frigo`.`supervisores` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE,
    CONSTRAINT `fk_faenas_movimientos_contratistas`
        FOREIGN KEY (`contratista_id` )
        REFERENCES `control_frigo`.`contratistas` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE,
    CONSTRAINT `fk_faenas_movimientos_cierres`
        FOREIGN KEY (`cierre_informado_por` )
        REFERENCES `control_frigo`.`sistema_usuarios` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
-- -----------------------------------------------------
-- Table `control_frigo`.`faenas_movilizadores`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `control_frigo`.`faenas_movilizadores` (
    `id` INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
    `movimiento_id` INT(6) UNSIGNED NOT NULL,
    `movilizador_id` INT(3) UNSIGNED NOT NULL,
    PRIMARY KEY (`id`),
    INDEX `fk_faenas_movilizadores_movimientos` (`movimiento_id` ASC) ,
    INDEX `fk_faenas_movilizadores_movilizadores` (`movilizador_id` ASC) ,
    CONSTRAINT `fk_faenas_movilizadores_movimientos`
        FOREIGN KEY (`movimiento_id` )
        REFERENCES `control_frigo`.`faenas_movimientos` (`id` )
        ON DELETE CASCADE   
        ON UPDATE CASCADE,
    CONSTRAINT `fk_faenas_movilizadores_movilizadores`
        FOREIGN KEY (`movilizador_id` )
        REFERENCES `control_frigo`.`movilizadores` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
-- -----------------------------------------------------
-- Table `control_frigo`.`faenas_horquilleros`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `control_frigo`.`faenas_horquilleros` (
    `id` INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
    `movimiento_id` INT(6) UNSIGNED NOT NULL,
    `horquillero_id` INT(3) UNSIGNED NOT NULL,
    PRIMARY KEY (`id`),
    INDEX `fk_faenas_horquilleros_movimientos` (`movimiento_id` ASC) ,
    INDEX `fk_faenas_horquilleros_horquilleros` (`horquillero_id` ASC) ,
    CONSTRAINT `fk_faenas_horquilleros_movimientos`
        FOREIGN KEY (`movimiento_id` )
        REFERENCES `control_frigo`.`faenas_movimientos` (`id` )
        ON DELETE CASCADE   
        ON UPDATE CASCADE,
    CONSTRAINT `fk_faenas_horquilleros_horquilleros`
        FOREIGN KEY (`horquillero_id` )
        REFERENCES `control_frigo`.`horquilleros` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
-- -----------------------------------------------------
-- Table `control_frigo`.`faenas_extras`
-- TIPO: Fusión, Reparación de Pallets, etc.
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `control_frigo`.`faenas_extras` (
    `id` INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
    `creada_fecha` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    `creada_por` INT(2) UNSIGNED NOT NULL,
    `cliente_id` INT(6) UNSIGNED NULL,
    `tipo_id` INT(6) UNSIGNED NOT NULL,
    `fecha` DATE NOT NULL,
    `supervisor_id` INT(2) UNSIGNED NOT NULL,   
    `contratista_id` INT(2) UNSIGNED NOT NULL, 
    `numero_tarja_manual` INT(7) UNSIGNED ZEROFILL NULL,
    `resumen_tons` DECIMAL(6,3) UNSIGNED NOT NULL  DEFAULT 0,
    `resumen_comentarios` TEXT NULL DEFAULT NULL,
    PRIMARY KEY (`id`),
    UNIQUE `unique_tarja_manual_extras` (`numero_tarja_manual`),
    INDEX `fk_faenas_extras_creadores` (`creada_por` ASC) ,
    INDEX `fk_faenas_extras_clientes` (`cliente_id` ASC) ,
    INDEX `fk_faenas_extras_tipos` (`tipo_id` ASC) ,
    INDEX `fk_faenas_extras_supervisores` (`supervisor_id` ASC) ,
    INDEX `fk_faenas_extras_contratistas` (`contratista_id` ASC) ,
    CONSTRAINT `fk_faenas_extras_creadores`
        FOREIGN KEY (`creada_por` )
        REFERENCES `control_frigo`.`sistema_usuarios` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE,
    CONSTRAINT `fk_faenas_extras_clientes`
        FOREIGN KEY (`cliente_id` )
        REFERENCES `control_frigo`.`clientes` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE,
    CONSTRAINT `fk_faenas_extras_tipos`
        FOREIGN KEY (`tipo_id` )
        REFERENCES `control_frigo`.`faenas_tipos` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE,
    CONSTRAINT `fk_faenas_extras_supervisores`
        FOREIGN KEY (`supervisor_id` )
        REFERENCES `control_frigo`.`supervisores` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE,
    CONSTRAINT `fk_faenas_extras_contratistas`
        FOREIGN KEY (`contratista_id` )
        REFERENCES `control_frigo`.`contratistas` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
-- -----------------------------------------------------
-- Table `control_frigo`.`faenas_extras_movilizadores`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `control_frigo`.`faenas_extras_movilizadores` (
    `id` INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
    `faena_extra_id` INT(6) UNSIGNED NOT NULL,
    `movilizador_id` INT(3) UNSIGNED NOT NULL,
    PRIMARY KEY (`id`),
    INDEX `fk_faenas_extras_movilizadores_faenas_extras` (`faena_extra_id` ASC) ,
    INDEX `fk_faenas_extras_movilizadores_movilizadores` (`movilizador_id` ASC) ,
    CONSTRAINT `fk_faenas_extras_movilizadores_faenas_extras`
        FOREIGN KEY (`faena_extra_id` )
        REFERENCES `control_frigo`.`faenas_extras` (`id` )
        ON DELETE CASCADE   
        ON UPDATE CASCADE,
    CONSTRAINT `fk_faenas_extras_movilizadores_movilizadores`
        FOREIGN KEY (`movilizador_id` )
        REFERENCES `control_frigo`.`movilizadores` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
-- -----------------------------------------------------
-- Table `control_frigo`.`faenas_extras_horquilleros`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `control_frigo`.`faenas_extras_horquilleros` (
    `id` INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
    `faena_extra_id` INT(6) UNSIGNED NOT NULL,
    `horquillero_id` INT(3) UNSIGNED NOT NULL,
    PRIMARY KEY (`id`),
    INDEX `fk_faenas_extras_horquilleros_faenas_extras` (`faena_extra_id` ASC) ,
    INDEX `fk_faenas_extras_horquilleros_horquilleros` (`horquillero_id` ASC) ,
    CONSTRAINT `fk_faenas_extras_horquilleros_faenas_extras`
        FOREIGN KEY (`faena_extra_id` )
        REFERENCES `control_frigo`.`faenas_extras` (`id` )
        ON DELETE CASCADE   
        ON UPDATE CASCADE,
    CONSTRAINT `fk_faenas_extras_horquilleros_horquilleros`
        FOREIGN KEY (`horquillero_id` )
        REFERENCES `control_frigo`.`horquilleros` (`id` )
        ON DELETE RESTRICT  
        ON UPDATE CASCADE
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
-- -----------------------------------------------------
-- Table `control_frigo`.`faenas_fotografias`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `control_frigo`.`faenas_fotografias` (
    `id` INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
    `faena_id` INT(6) UNSIGNED NOT NULL,
    `categoria_id` INT(2) UNSIGNED NULL,
    `archivo` VARCHAR(100) NOT NULL,
    `texto` VARCHAR(200) NOT NULL,
    `lugar` INT(3) UNSIGNED NOT NULL DEFAULT 0,
    PRIMARY KEY (`id`),
    INDEX `fk_faenas_fotografias_faenas` (`faena_id` ASC) ,
    INDEX `fk_faenas_fotografias_categorias` (`categoria_id` ASC) ,
    CONSTRAINT `fk_faenas_fotografias_faenas`
        FOREIGN KEY (`faena_id` )
        REFERENCES `control_frigo`.`faenas` (`id` )
        ON DELETE CASCADE   
        ON UPDATE CASCADE,
     CONSTRAINT `fk_faenas_fotografias_categorias`
        FOREIGN KEY (`categoria_id` )
        REFERENCES `control_frigo`.`faenas_fotografias_categorias` (`id` )
        ON DELETE RESTRICT    
        ON UPDATE CASCADE    
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
-- -----------------------------------------------------
-- Table `control_frigo`.`faenas_documentos_adjuntos`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `control_frigo`.`faenas_documentos_adjuntos` (
    `id` INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
    `faena_id` INT(6) UNSIGNED NOT NULL,
    `archivo` VARCHAR(100) NOT NULL,
    `texto` VARCHAR(200) NOT NULL,
    `lugar` INT(3) UNSIGNED NOT NULL DEFAULT 0,
    PRIMARY KEY (`id`),
    INDEX `fk_faenas_documentos_adjuntos_faenas` (`faena_id` ASC) ,
    CONSTRAINT `fk_faenas_documentos_adjuntos_faenas`
        FOREIGN KEY (`faena_id` )
        REFERENCES `control_frigo`.`faenas` (`id` )
        ON DELETE CASCADE   
        ON UPDATE CASCADE
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
-- -----------------------------------------------------
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;