
# This is a fix for InnoDB in MySQL >= 4.1.x
# It "suspends judgement" for fkey relationships until are tables are set.
SET FOREIGN_KEY_CHECKS = 0;

#-----------------------------------------------------------------------------
#-- sf_guard_user_profile
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `sf_guard_user_profile`;


CREATE TABLE `sf_guard_user_profile`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`user_id` INTEGER  NOT NULL,
	`nombrecompleto` VARCHAR(255),
	`email` VARCHAR(255),
	`solo_consulta` TINYINT default 0,
	PRIMARY KEY (`id`),
	INDEX `sf_guard_user_profile_FI_1` (`user_id`),
	CONSTRAINT `sf_guard_user_profile_FK_1`
		FOREIGN KEY (`user_id`)
		REFERENCES `sf_guard_user` (`id`)
		ON DELETE CASCADE
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- encuesta
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `encuesta`;


CREATE TABLE `encuesta`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`id_grupo_censo` INTEGER,
	`numero` INTEGER,
	`genera_novedad` DATETIME,
	`fecha_ultima_consulta` DATETIME,
	`titular_id` INTEGER,
	`nrofolio` INTEGER,
	`fecha` DATETIME,
	`item` VARCHAR(2),
	`motivo` VARCHAR(255),
	`solicitud` VARCHAR(255),
	`usuario_id` INTEGER,
	`usuario_ts` INTEGER,
	`lugar_archivo` VARCHAR(50),
	`observacion_gral` TEXT,
	`apoApeNom` VARCHAR(255),
	`apoFechaNacimiento` DATETIME,
	`apoNumeroDocu` BIGINT,
	PRIMARY KEY (`id`),
	UNIQUE KEY `encuesta_U_1` (`nrofolio`),
	INDEX `encuesta_FI_1` (`titular_id`),
	CONSTRAINT `encuesta_FK_1`
		FOREIGN KEY (`titular_id`)
		REFERENCES `persona` (`id`),
	INDEX `encuesta_FI_2` (`usuario_id`),
	CONSTRAINT `encuesta_FK_2`
		FOREIGN KEY (`usuario_id`)
		REFERENCES `sf_guard_user` (`id`),
	INDEX `encuesta_FI_3` (`usuario_ts`),
	CONSTRAINT `encuesta_FK_3`
		FOREIGN KEY (`usuario_ts`)
		REFERENCES `sf_guard_user` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- situacion_socioeconomica
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `situacion_socioeconomica`;


CREATE TABLE `situacion_socioeconomica`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`fecha` DATETIME,
	`texto` TEXT,
	`usuario_id` INTEGER,
	`encuesta_id` INTEGER,
	`pm1` TINYINT,
	`pm2` TINYINT,
	`pm3` TINYINT,
	`pm4` TINYINT,
	`pm5` TINYINT,
	`pm6` TINYINT,
	`pm7` TINYINT,
	`pm8` TINYINT,
	`pm9` TINYINT,
	`ingreso_estimado` INTEGER,
	`usuario_ts` INTEGER,
	PRIMARY KEY (`id`),
	INDEX `situacion_socioeconomica_FI_1` (`usuario_id`),
	CONSTRAINT `situacion_socioeconomica_FK_1`
		FOREIGN KEY (`usuario_id`)
		REFERENCES `sf_guard_user` (`id`),
	INDEX `situacion_socioeconomica_FI_2` (`encuesta_id`),
	CONSTRAINT `situacion_socioeconomica_FK_2`
		FOREIGN KEY (`encuesta_id`)
		REFERENCES `encuesta` (`id`),
	INDEX `situacion_socioeconomica_FI_3` (`usuario_ts`),
	CONSTRAINT `situacion_socioeconomica_FK_3`
		FOREIGN KEY (`usuario_ts`)
		REFERENCES `sf_guard_user` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- situacion_sanitaria
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `situacion_sanitaria`;


CREATE TABLE `situacion_sanitaria`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`fecha` DATETIME,
	`texto` TEXT,
	`usuario_id` INTEGER,
	`encuesta_id` INTEGER,
	`usuario_ts` INTEGER,
	PRIMARY KEY (`id`),
	INDEX `situacion_sanitaria_FI_1` (`usuario_id`),
	CONSTRAINT `situacion_sanitaria_FK_1`
		FOREIGN KEY (`usuario_id`)
		REFERENCES `sf_guard_user` (`id`),
	INDEX `situacion_sanitaria_FI_2` (`encuesta_id`),
	CONSTRAINT `situacion_sanitaria_FK_2`
		FOREIGN KEY (`encuesta_id`)
		REFERENCES `encuesta` (`id`),
	INDEX `situacion_sanitaria_FI_3` (`usuario_ts`),
	CONSTRAINT `situacion_sanitaria_FK_3`
		FOREIGN KEY (`usuario_ts`)
		REFERENCES `sf_guard_user` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- situacion_habitacional
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `situacion_habitacional`;


CREATE TABLE `situacion_habitacional`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`fecha` DATETIME,
	`texto` TEXT,
	`usuario_id` INTEGER,
	`encuesta_id` INTEGER,
	`sm1` VARCHAR(1),
	`sm2` VARCHAR(1),
	`sm3` VARCHAR(1),
	`sm4` INTEGER,
	`sm5` VARCHAR(1),
	`sm6` VARCHAR(1),
	`sm7` VARCHAR(1),
	`sm8` VARCHAR(1),
	`cd1` VARCHAR(1),
	`cd2` VARCHAR(1),
	`cd3` VARCHAR(1),
	`cd4` VARCHAR(1),
	`cd5` VARCHAR(1),
	`cd6` VARCHAR(1),
	`cd7` VARCHAR(1),
	`cd8` VARCHAR(1),
	`cd9` VARCHAR(1),
	`cd10` VARCHAR(1),
	`cd11` VARCHAR(1),
	`cd12` VARCHAR(1),
	`cd13` VARCHAR(1),
	`cd14` VARCHAR(1),
	`cd15` VARCHAR(1),
	`cd16` VARCHAR(1),
	`usuario_ts` INTEGER,
	PRIMARY KEY (`id`),
	INDEX `situacion_habitacional_FI_1` (`usuario_id`),
	CONSTRAINT `situacion_habitacional_FK_1`
		FOREIGN KEY (`usuario_id`)
		REFERENCES `sf_guard_user` (`id`),
	INDEX `situacion_habitacional_FI_2` (`encuesta_id`),
	CONSTRAINT `situacion_habitacional_FK_2`
		FOREIGN KEY (`encuesta_id`)
		REFERENCES `encuesta` (`id`),
	INDEX `situacion_habitacional_FI_3` (`usuario_ts`),
	CONSTRAINT `situacion_habitacional_FK_3`
		FOREIGN KEY (`usuario_ts`)
		REFERENCES `sf_guard_user` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- observacion_profesional
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `observacion_profesional`;


CREATE TABLE `observacion_profesional`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`fecha` DATETIME,
	`texto` TEXT,
	`usuario_id` INTEGER,
	`encuesta_id` INTEGER,
	`usuario_ts` INTEGER,
	PRIMARY KEY (`id`),
	INDEX `observacion_profesional_FI_1` (`usuario_id`),
	CONSTRAINT `observacion_profesional_FK_1`
		FOREIGN KEY (`usuario_id`)
		REFERENCES `sf_guard_user` (`id`),
	INDEX `observacion_profesional_FI_2` (`encuesta_id`),
	CONSTRAINT `observacion_profesional_FK_2`
		FOREIGN KEY (`encuesta_id`)
		REFERENCES `encuesta` (`id`),
	INDEX `observacion_profesional_FI_3` (`usuario_ts`),
	CONSTRAINT `observacion_profesional_FK_3`
		FOREIGN KEY (`usuario_ts`)
		REFERENCES `sf_guard_user` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- intervencion_sugerida
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `intervencion_sugerida`;


CREATE TABLE `intervencion_sugerida`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`fecha` DATETIME,
	`texto` TEXT,
	`usuario_id` INTEGER,
	`encuesta_id` INTEGER,
	`usuario_ts` INTEGER,
	PRIMARY KEY (`id`),
	INDEX `intervencion_sugerida_FI_1` (`usuario_id`),
	CONSTRAINT `intervencion_sugerida_FK_1`
		FOREIGN KEY (`usuario_id`)
		REFERENCES `sf_guard_user` (`id`),
	INDEX `intervencion_sugerida_FI_2` (`encuesta_id`),
	CONSTRAINT `intervencion_sugerida_FK_2`
		FOREIGN KEY (`encuesta_id`)
		REFERENCES `encuesta` (`id`),
	INDEX `intervencion_sugerida_FI_3` (`usuario_ts`),
	CONSTRAINT `intervencion_sugerida_FK_3`
		FOREIGN KEY (`usuario_ts`)
		REFERENCES `sf_guard_user` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- resena_historica
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `resena_historica`;


CREATE TABLE `resena_historica`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`fecha` DATETIME,
	`texto` TEXT,
	`usuario_id` INTEGER,
	`encuesta_id` INTEGER,
	`usuario_ts` INTEGER,
	PRIMARY KEY (`id`),
	INDEX `resena_historica_FI_1` (`usuario_id`),
	CONSTRAINT `resena_historica_FK_1`
		FOREIGN KEY (`usuario_id`)
		REFERENCES `sf_guard_user` (`id`),
	INDEX `resena_historica_FI_2` (`encuesta_id`),
	CONSTRAINT `resena_historica_FK_2`
		FOREIGN KEY (`encuesta_id`)
		REFERENCES `encuesta` (`id`),
	INDEX `resena_historica_FI_3` (`usuario_ts`),
	CONSTRAINT `resena_historica_FK_3`
		FOREIGN KEY (`usuario_ts`)
		REFERENCES `sf_guard_user` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- intervencion
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `intervencion`;


CREATE TABLE `intervencion`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`numero_remito` INTEGER default 0,
	`fecha_alta` DATETIME,
	`periodos` INTEGER,
	`fecha_ingreso_adm` DATETIME,
	`fecha_enviado_galpon` DATETIME,
	`fecha_recibido_galpon` DATETIME,
	`fecha_regreso_adm` DATETIME,
	`fecha_entrega` DATETIME,
	`fecha_cancelado` DATETIME,
	`comentario` TEXT,
	`motivo_cancelacion` TEXT,
	`cantidad_ayuda` INTEGER,
	`cantidad_ayuda_original` INTEGER,
	`asignado_a_partida` TINYINT default 0,
	`orden_de_compra` VARCHAR(255),
	`tipo_ayuda_id` INTEGER,
	`bolsacolostomia` TINYINT default 0,
	`usuario_id` INTEGER,
	`encuesta_id` INTEGER,
	`estado_id` INTEGER,
	`incendio` TINYINT default 0,
	`persona_id` INTEGER,
	PRIMARY KEY (`id`),
	INDEX `intervencion_FI_1` (`tipo_ayuda_id`),
	CONSTRAINT `intervencion_FK_1`
		FOREIGN KEY (`tipo_ayuda_id`)
		REFERENCES `tipo_ayuda` (`id`),
	INDEX `intervencion_FI_2` (`usuario_id`),
	CONSTRAINT `intervencion_FK_2`
		FOREIGN KEY (`usuario_id`)
		REFERENCES `sf_guard_user` (`id`),
	INDEX `intervencion_FI_3` (`encuesta_id`),
	CONSTRAINT `intervencion_FK_3`
		FOREIGN KEY (`encuesta_id`)
		REFERENCES `encuesta` (`id`),
	INDEX `intervencion_FI_4` (`estado_id`),
	CONSTRAINT `intervencion_FK_4`
		FOREIGN KEY (`estado_id`)
		REFERENCES `estado_intervencion` (`id`),
	INDEX `intervencion_FI_5` (`persona_id`),
	CONSTRAINT `intervencion_FK_5`
		FOREIGN KEY (`persona_id`)
		REFERENCES `persona` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- estado_intervencion
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `estado_intervencion`;


CREATE TABLE `estado_intervencion`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(255),
	PRIMARY KEY (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- grupo_familiar
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `grupo_familiar`;


CREATE TABLE `grupo_familiar`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`encuesta_id` INTEGER,
	`persona_id` INTEGER,
	`vinculo_id` INTEGER,
	`fecha_alta` DATETIME,
	`fecha_baja` DATETIME,
	PRIMARY KEY (`id`),
	INDEX `grupo_familiar_FI_1` (`encuesta_id`),
	CONSTRAINT `grupo_familiar_FK_1`
		FOREIGN KEY (`encuesta_id`)
		REFERENCES `encuesta` (`id`),
	INDEX `grupo_familiar_FI_2` (`persona_id`),
	CONSTRAINT `grupo_familiar_FK_2`
		FOREIGN KEY (`persona_id`)
		REFERENCES `persona` (`id`),
	INDEX `grupo_familiar_FI_3` (`vinculo_id`),
	CONSTRAINT `grupo_familiar_FK_3`
		FOREIGN KEY (`vinculo_id`)
		REFERENCES `vinculo` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- vinculo
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `vinculo`;


CREATE TABLE `vinculo`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(255),
	PRIMARY KEY (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- persona
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `persona`;


CREATE TABLE `persona`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(255),
	`apellido` VARCHAR(255),
	`sexo` VARCHAR(1) default 'F' NOT NULL,
	`tipo_documento_id` INTEGER,
	`numero_documento` BIGINT,
	`fecha_nacimiento` DATETIME,
	`edad` INTEGER,
	`estado_civil_id` INTEGER,
	`establecimiento_educ_id` INTEGER,
	`nivel_educativo_id` INTEGER,
	`oficio` VARCHAR(255),
	`condicion_actividad_id` INTEGER,
	`condicion_ocupado_id` INTEGER,
	`discapacidad` TINYINT,
	`cert_discapacidad` TINYINT,
	`lugar_nacimiento` VARCHAR(255),
	`provincia` VARCHAR(255),
	`ano_ingreso_pais` INTEGER,
	`radicacion` VARCHAR(2) default 'O' NOT NULL,
	`calle` VARCHAR(255),
	`numero` VARCHAR(255),
	`entre_calles` VARCHAR(255),
	`piso` VARCHAR(255),
	`depto` VARCHAR(255),
	`barrio` VARCHAR(255),
	`municipalidad` VARCHAR(20) default 'QUILMES',
	`telefono` VARCHAR(60),
	`telefono_alternativo` VARCHAR(60),
	`email` VARCHAR(200),
	`facebook` VARCHAR(200),
	`sexo_especifica` VARCHAR(200),
	`radicacion_legalizada` TINYINT,
	`radicacion_precaria` TINYINT,
	PRIMARY KEY (`id`),
	INDEX `persona_FI_1` (`tipo_documento_id`),
	CONSTRAINT `persona_FK_1`
		FOREIGN KEY (`tipo_documento_id`)
		REFERENCES `tipo_documento` (`id`),
	INDEX `persona_FI_2` (`estado_civil_id`),
	CONSTRAINT `persona_FK_2`
		FOREIGN KEY (`estado_civil_id`)
		REFERENCES `estado_civil` (`id`),
	INDEX `persona_FI_3` (`establecimiento_educ_id`),
	CONSTRAINT `persona_FK_3`
		FOREIGN KEY (`establecimiento_educ_id`)
		REFERENCES `establecimiento_educ` (`id`),
	INDEX `persona_FI_4` (`nivel_educativo_id`),
	CONSTRAINT `persona_FK_4`
		FOREIGN KEY (`nivel_educativo_id`)
		REFERENCES `nivel_educativo` (`id`),
	INDEX `persona_FI_5` (`condicion_actividad_id`),
	CONSTRAINT `persona_FK_5`
		FOREIGN KEY (`condicion_actividad_id`)
		REFERENCES `condicion_actividad` (`id`),
	INDEX `persona_FI_6` (`condicion_ocupado_id`),
	CONSTRAINT `persona_FK_6`
		FOREIGN KEY (`condicion_ocupado_id`)
		REFERENCES `condicion_ocupado` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- condicion_actividad
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `condicion_actividad`;


CREATE TABLE `condicion_actividad`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`OCUPADO` TINYINT,
	`DESOCUPADO` TINYINT,
	`JUBILADO` TINYINT,
	`ESTUDIANTE` TINYINT,
	`AMA_DE_CASA` TINYINT,
	`OTRO` VARCHAR(200),
	PRIMARY KEY (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- condicion_ocupado
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `condicion_ocupado`;


CREATE TABLE `condicion_ocupado`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`ASALARIADO_CON_JUBILACION` TINYINT,
	`ASALARIADO_SIN_JUBILACION` TINYINT,
	`CUENTA_PROPIA` TINYINT,
	`SIN_SALARIO` TINYINT,
	PRIMARY KEY (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- establecimiento_educ
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `establecimiento_educ`;


CREATE TABLE `establecimiento_educ`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(50),
	PRIMARY KEY (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- tipo_documento
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `tipo_documento`;


CREATE TABLE `tipo_documento`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(255),
	PRIMARY KEY (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- estado_civil
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `estado_civil`;


CREATE TABLE `estado_civil`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(255),
	`orden` VARCHAR(2),
	PRIMARY KEY (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- nivel_educativo
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `nivel_educativo`;


CREATE TABLE `nivel_educativo`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(255),
	`orden` VARCHAR(2),
	PRIMARY KEY (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- tipo_ayuda
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `tipo_ayuda`;


CREATE TABLE `tipo_ayuda`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`codigo` VARCHAR(255),
	`codigo_exportacion` VARCHAR(255),
	`descripcion` TEXT,
	`activo` TINYINT default 1,
	`orden` VARCHAR(2),
	PRIMARY KEY (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- auditoria_asignar_partida
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `auditoria_asignar_partida`;


CREATE TABLE `auditoria_asignar_partida`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`intervencion_id` INTEGER,
	`usuario_id` INTEGER,
	`fecha` DATETIME,
	PRIMARY KEY (`id`),
	INDEX `auditoria_asignar_partida_FI_1` (`intervencion_id`),
	CONSTRAINT `auditoria_asignar_partida_FK_1`
		FOREIGN KEY (`intervencion_id`)
		REFERENCES `intervencion` (`id`),
	INDEX `auditoria_asignar_partida_FI_2` (`usuario_id`),
	CONSTRAINT `auditoria_asignar_partida_FK_2`
		FOREIGN KEY (`usuario_id`)
		REFERENCES `sf_guard_user` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- auditoria_encuesta_exportada
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `auditoria_encuesta_exportada`;


CREATE TABLE `auditoria_encuesta_exportada`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`encuesta_id` INTEGER,
	`usuario_id` INTEGER,
	`fecha` DATETIME,
	PRIMARY KEY (`id`),
	INDEX `auditoria_encuesta_exportada_FI_1` (`encuesta_id`),
	CONSTRAINT `auditoria_encuesta_exportada_FK_1`
		FOREIGN KEY (`encuesta_id`)
		REFERENCES `encuesta` (`id`),
	INDEX `auditoria_encuesta_exportada_FI_2` (`usuario_id`),
	CONSTRAINT `auditoria_encuesta_exportada_FK_2`
		FOREIGN KEY (`usuario_id`)
		REFERENCES `sf_guard_user` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- censo_nacionalidad
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `censo_nacionalidad`;


CREATE TABLE `censo_nacionalidad`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`codigo` INTEGER,
	`descripcion` VARCHAR(255),
	PRIMARY KEY (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- censo_parentesco
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `censo_parentesco`;


CREATE TABLE `censo_parentesco`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`codigo` INTEGER,
	`descripcion` VARCHAR(255),
	PRIMARY KEY (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- censo_tipo_documento
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `censo_tipo_documento`;


CREATE TABLE `censo_tipo_documento`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`cod` INTEGER,
	`descripcion` VARCHAR(255),
	PRIMARY KEY (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- censo_nivel
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `censo_nivel`;


CREATE TABLE `censo_nivel`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`personum` INTEGER,
	`nivel` VARCHAR(255),
	PRIMARY KEY (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- censo_hogar
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `censo_hogar`;


CREATE TABLE `censo_hogar`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`id_censo` INTEGER,
	`edad` INTEGER,
	`edad_meses` INTEGER,
	`dni` VARCHAR(255),
	`nombre` VARCHAR(255),
	`apellido` VARCHAR(255),
	`sexo` INTEGER,
	`tipo_documento_id` INTEGER,
	`fecha` VARCHAR(255),
	`paren_hogar` VARCHAR(255),
	`paren_fam` VARCHAR(255),
	`conyugal` VARCHAR(255),
	`nacionalidad` VARCHAR(255),
	`nivel` VARCHAR(255),
	`barrio` VARCHAR(255),
	`paraje` VARCHAR(255),
	`codigo_postal` VARCHAR(255),
	PRIMARY KEY (`id`),
	INDEX `censo_hogar_FI_1` (`tipo_documento_id`),
	CONSTRAINT `censo_hogar_FK_1`
		FOREIGN KEY (`tipo_documento_id`)
		REFERENCES `censo_tipo_documento` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- buffer_busqueda
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `buffer_busqueda`;


CREATE TABLE `buffer_busqueda`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre_apellido` VARCHAR(255),
	`documento` VARCHAR(255),
	`calle` VARCHAR(255),
	`numero` VARCHAR(255),
	`piso` VARCHAR(255),
	`depto` VARCHAR(255),
	`fecha_nacimiento` VARCHAR(255),
	`usuario_id` INTEGER,
	PRIMARY KEY (`id`),
	INDEX `buffer_busqueda_FI_1` (`usuario_id`),
	CONSTRAINT `buffer_busqueda_FK_1`
		FOREIGN KEY (`usuario_id`)
		REFERENCES `sf_guard_user` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- tabl_encuesta
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `tabl_encuesta`;


CREATE TABLE `tabl_encuesta`
(
	`id_reg` INTEGER  NOT NULL AUTO_INCREMENT,
	`n_form` INTEGER,
	`ap_nom` VARCHAR(255),
	`conyug` VARCHAR(40),
	`ti_doc` VARCHAR(20),
	`nu_doc` VARCHAR(15),
	`fec_ad` VARCHAR(10),
	`direcc` VARCHAR(60),
	`barrio` VARCHAR(25),
	`telefo` VARCHAR(30),
	`trab_t` INTEGER,
	`observ` VARCHAR(255),
	`fec_in` VARCHAR(10),
	`res_in` VARCHAR(30),
	PRIMARY KEY (`id_reg`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- tipo_situacion_habitacional
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `tipo_situacion_habitacional`;


CREATE TABLE `tipo_situacion_habitacional`
(
	`pregunta` VARCHAR(10)  NOT NULL,
	`opcion` VARCHAR(2)  NOT NULL,
	`descripcion` VARCHAR(254),
	PRIMARY KEY (`pregunta`,`opcion`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- nacionalidad
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `nacionalidad`;


CREATE TABLE `nacionalidad`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(255),
	`descripcion` VARCHAR(255),
	PRIMARY KEY (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- observa_sintys
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `observa_sintys`;


CREATE TABLE `observa_sintys`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nrofolio` INTEGER,
	`numero_documento` INTEGER,
	`fecha` INTEGER,
	`descripcion` VARCHAR(255),
	`montototal` DOUBLE,
	`montohogar` DOUBLE,
	PRIMARY KEY (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- estado_ayuda_social_monitoreo
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `estado_ayuda_social_monitoreo`;


CREATE TABLE `estado_ayuda_social_monitoreo`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(255),
	PRIMARY KEY (`id`),
	UNIQUE KEY `estado_ayuda_social_monitoreo_U_1` (`nombre`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- ubicacion_ayuda_social_monitoreo
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `ubicacion_ayuda_social_monitoreo`;


CREATE TABLE `ubicacion_ayuda_social_monitoreo`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(255),
	`estado_id` INTEGER,
	`orden` INTEGER  NOT NULL,
	PRIMARY KEY (`id`),
	UNIQUE KEY `ubicacion_ayuda_social_monitoreo_U_1` (`nombre`),
	INDEX `ubicacion_ayuda_social_monitoreo_FI_1` (`estado_id`),
	CONSTRAINT `ubicacion_ayuda_social_monitoreo_FK_1`
		FOREIGN KEY (`estado_id`)
		REFERENCES `estado_ayuda_social_monitoreo` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- problematica_ayuda_social_monitoreo
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `problematica_ayuda_social_monitoreo`;


CREATE TABLE `problematica_ayuda_social_monitoreo`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(255),
	PRIMARY KEY (`id`),
	UNIQUE KEY `problematica_ayuda_social_monitoreo_U_1` (`nombre`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- fuente_financiamiento_ayuda_social_monitoreo
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `fuente_financiamiento_ayuda_social_monitoreo`;


CREATE TABLE `fuente_financiamiento_ayuda_social_monitoreo`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(255),
	PRIMARY KEY (`id`),
	UNIQUE KEY `fuente_financiamiento_ayuda_social_monitoreo_U_1` (`nombre`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- ayuda_social_monitoreo
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `ayuda_social_monitoreo`;


CREATE TABLE `ayuda_social_monitoreo`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`intervencion_id` INTEGER,
	`ubicacion_id` INTEGER,
	`problematica_id` INTEGER,
	`fuente_financiamiento_id` INTEGER,
	`fecha_apertura_expediente` DATETIME,
	`numero_expediente_mesa_entrada` VARCHAR(255),
	`fecha_asignacion_numero_decreto` DATETIME,
	`numero_decreto` VARCHAR(255),
	`fecha_asignacion_numero_orden_pago` DATETIME,
	`numero_orden_pago` VARCHAR(255),
	`observaciones` VARCHAR(255),
	`motivo_cancelado` INTEGER,
	`fecha_ultimo_cambio_ubicacion` DATETIME,
	`prioridad` INTEGER,
	PRIMARY KEY (`id`),
	INDEX `ayuda_social_monitoreo_FI_1` (`ubicacion_id`),
	CONSTRAINT `ayuda_social_monitoreo_FK_1`
		FOREIGN KEY (`ubicacion_id`)
		REFERENCES `ubicacion_ayuda_social_monitoreo` (`id`),
	INDEX `ayuda_social_monitoreo_FI_2` (`problematica_id`),
	CONSTRAINT `ayuda_social_monitoreo_FK_2`
		FOREIGN KEY (`problematica_id`)
		REFERENCES `problematica_ayuda_social_monitoreo` (`id`),
	INDEX `ayuda_social_monitoreo_FI_3` (`fuente_financiamiento_id`),
	CONSTRAINT `ayuda_social_monitoreo_FK_3`
		FOREIGN KEY (`fuente_financiamiento_id`)
		REFERENCES `fuente_financiamiento_ayuda_social_monitoreo` (`id`),
	INDEX `ayuda_social_monitoreo_FI_4` (`motivo_cancelado`),
	CONSTRAINT `ayuda_social_monitoreo_FK_4`
		FOREIGN KEY (`motivo_cancelado`)
		REFERENCES `estado_cancelacion` (`id`),
	INDEX `ayuda_social_monitoreo_FI_5` (`prioridad`),
	CONSTRAINT `ayuda_social_monitoreo_FK_5`
		FOREIGN KEY (`prioridad`)
		REFERENCES `prioridad_ayuda_social_monitoreo` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- registro_ayuda_social_monitoreo
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `registro_ayuda_social_monitoreo`;


CREATE TABLE `registro_ayuda_social_monitoreo`
(
	`ayuda_social_id` INTEGER  NOT NULL,
	`fecha` DATETIME  NOT NULL,
	`ubicacion_id` INTEGER,
	`fecha_ts` DATETIME  NOT NULL,
	PRIMARY KEY (`ayuda_social_id`,`fecha`),
	CONSTRAINT `registro_ayuda_social_monitoreo_FK_1`
		FOREIGN KEY (`ayuda_social_id`)
		REFERENCES `ayuda_social_monitoreo` (`id`),
	INDEX `registro_ayuda_social_monitoreo_FI_2` (`ubicacion_id`),
	CONSTRAINT `registro_ayuda_social_monitoreo_FK_2`
		FOREIGN KEY (`ubicacion_id`)
		REFERENCES `ubicacion_ayuda_social_monitoreo` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- estado_cancelacion
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `estado_cancelacion`;


CREATE TABLE `estado_cancelacion`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(255),
	PRIMARY KEY (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- prioridad_ayuda_social_monitoreo
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `prioridad_ayuda_social_monitoreo`;


CREATE TABLE `prioridad_ayuda_social_monitoreo`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`descripcion` VARCHAR(50),
	`orden` INTEGER  NOT NULL,
	PRIMARY KEY (`id`),
	UNIQUE KEY `prioridad_ayuda_social_monitoreo_U_1` (`descripcion`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- motivo_reclamo_asu
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `motivo_reclamo_asu`;


CREATE TABLE `motivo_reclamo_asu`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`descripcion` VARCHAR(100),
	`activo` TINYINT  NOT NULL,
	PRIMARY KEY (`id`),
	UNIQUE KEY `motivo_reclamo_asu_U_1` (`descripcion`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- reclamos_asus
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `reclamos_asus`;


CREATE TABLE `reclamos_asus`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`intervencion_id` INTEGER,
	`fcarga` DATETIME,
	`fecha` DATETIME,
	`motivo_id` INTEGER,
	`descripcion` TEXT,
	`usuario_id` INTEGER,
	PRIMARY KEY (`id`),
	INDEX `reclamos_asus_FI_1` (`intervencion_id`),
	CONSTRAINT `reclamos_asus_FK_1`
		FOREIGN KEY (`intervencion_id`)
		REFERENCES `ayuda_social_monitoreo` (`id`),
	INDEX `reclamos_asus_FI_2` (`motivo_id`),
	CONSTRAINT `reclamos_asus_FK_2`
		FOREIGN KEY (`motivo_id`)
		REFERENCES `motivo_reclamo_asu` (`id`),
	INDEX `reclamos_asus_FI_3` (`usuario_id`),
	CONSTRAINT `reclamos_asus_FK_3`
		FOREIGN KEY (`usuario_id`)
		REFERENCES `sf_guard_user` (`id`)
) ENGINE=InnoDB;

# This restores the fkey checks, after having unset them earlier
SET FOREIGN_KEY_CHECKS = 1;
