
# 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,
	`solo_encuesta` 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,
	`fcarga` DATETIME,
	`item` VARCHAR(2),
	`motivo` VARCHAR(255),
	`solicitud` VARCHAR(255),
	`usuario_id` INTEGER,
	`usuario_ts` INTEGER,
	`usuariomod_id` INTEGER,
	`fechamod` DATETIME,
	`lugar_archivo` VARCHAR(50),
	`observacion_gral` TEXT,
	`apoApeNom` VARCHAR(255),
	`apoNom` 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`),
	INDEX `encuesta_FI_4` (`usuariomod_id`),
	CONSTRAINT `encuesta_FK_4`
		FOREIGN KEY (`usuariomod_id`)
		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,
	`tipo_ayuda_id` INTEGER,
	`cantidad_ayuda` INTEGER,
	`cantidad_ayuda_original` INTEGER,
	`asignado_a_partida` TINYINT default 0,
	`orden_de_compra` VARCHAR(255),
	`bolsacolostomia` TINYINT default 0,
	`usuario_id` INTEGER,
	`encuesta_id` INTEGER,
	`estado_id` INTEGER,
	`persona_id` INTEGER,
	`incendio` TINYINT default 0,
	`tormenta` TINYINT default 0,
	`vientos_fuertes` TINYINT default 0,
	`granizo` TINYINT default 0,
	`inundaciones` TINYINT default 0,
	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`)
) 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;

#-----------------------------------------------------------------------------
#-- barrios
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `barrios`;


CREATE TABLE `barrios`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`localidad` VARCHAR(100),
	`barrio` VARCHAR(100),
	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),
	`gis_calle` VARCHAR(255),
	`gis_latitud` DOUBLE,
	`gis_longitud` DOUBLE,
	`numero` VARCHAR(255),
	`entre_calles` VARCHAR(255),
	`piso` VARCHAR(255),
	`depto` VARCHAR(255),
	`barrio` VARCHAR(255),
	`barrio_id` INTEGER,
	`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,
	`articulacion` 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`),
	INDEX `persona_FI_7` (`barrio_id`),
	CONSTRAINT `persona_FK_7`
		FOREIGN KEY (`barrio_id`)
		REFERENCES `barrios` (`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,
	`TRABAJO_INFORMAL` 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),
	`stock_actual` INTEGER,
	`stock_minimo` INTEGER,
	`entrega_galpon` TINYINT default 0,
	`controlar_stock` TINYINT default 1,
	`entrega_directa` TINYINT default 0,
	PRIMARY KEY (`id`)
) 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;

#-----------------------------------------------------------------------------
#-- orden_pedido
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `orden_pedido`;


CREATE TABLE `orden_pedido`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`usuario_id` INTEGER,
	`fecha` DATETIME,
	`tipo_ayuda_id` INTEGER,
	`cantidad` INTEGER,
	`nro_solicitud_pedido` VARCHAR(200),
	`fecha_recibido_compras` DATETIME,
	`compra_id` INTEGER,
	`expediente` VARCHAR(255),
	`fuente_financiamiento_id` INTEGER,
	`observacion` TEXT,
	PRIMARY KEY (`id`),
	INDEX `orden_pedido_FI_1` (`usuario_id`),
	CONSTRAINT `orden_pedido_FK_1`
		FOREIGN KEY (`usuario_id`)
		REFERENCES `sf_guard_user` (`id`),
	INDEX `orden_pedido_FI_2` (`tipo_ayuda_id`),
	CONSTRAINT `orden_pedido_FK_2`
		FOREIGN KEY (`tipo_ayuda_id`)
		REFERENCES `tipo_ayuda` (`id`),
	INDEX `orden_pedido_FI_3` (`compra_id`),
	CONSTRAINT `orden_pedido_FK_3`
		FOREIGN KEY (`compra_id`)
		REFERENCES `orden_compra` (`id`),
	INDEX `orden_pedido_FI_4` (`fuente_financiamiento_id`),
	CONSTRAINT `orden_pedido_FK_4`
		FOREIGN KEY (`fuente_financiamiento_id`)
		REFERENCES `fuente_financiamiento_ayuda_social_monitoreo` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- orden_compra
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `orden_compra`;


CREATE TABLE `orden_compra`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`usuario_id` INTEGER,
	`fecha` DATETIME,
	`fecha_recibido_galpon` DATETIME,
	`proveedor_id` INTEGER,
	`nro_orden_compra` VARCHAR(255),
	PRIMARY KEY (`id`),
	INDEX `orden_compra_FI_1` (`usuario_id`),
	CONSTRAINT `orden_compra_FK_1`
		FOREIGN KEY (`usuario_id`)
		REFERENCES `sf_guard_user` (`id`),
	INDEX `orden_compra_FI_2` (`proveedor_id`),
	CONSTRAINT `orden_compra_FK_2`
		FOREIGN KEY (`proveedor_id`)
		REFERENCES `proveedor` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- stock_productos
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `stock_productos`;


CREATE TABLE `stock_productos`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`tipo_ayuda_id` INTEGER,
	`intervencion_id` INTEGER,
	`orden_compra_id` INTEGER,
	PRIMARY KEY (`id`),
	INDEX `stock_productos_FI_1` (`tipo_ayuda_id`),
	CONSTRAINT `stock_productos_FK_1`
		FOREIGN KEY (`tipo_ayuda_id`)
		REFERENCES `tipo_ayuda` (`id`),
	INDEX `stock_productos_FI_2` (`intervencion_id`),
	CONSTRAINT `stock_productos_FK_2`
		FOREIGN KEY (`intervencion_id`)
		REFERENCES `intervencion` (`id`),
	INDEX `stock_productos_FI_3` (`orden_compra_id`),
	CONSTRAINT `stock_productos_FK_3`
		FOREIGN KEY (`orden_compra_id`)
		REFERENCES `orden_compra` (`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;

#-----------------------------------------------------------------------------
#-- proveedor
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `proveedor`;


CREATE TABLE `proveedor`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(255),
	`direccion` VARCHAR(255),
	`telefono` 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;

#-----------------------------------------------------------------------------
#-- infancia
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `infancia`;


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

#-----------------------------------------------------------------------------
#-- callejero
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `callejero`;


CREATE TABLE `callejero`
(
	`ancho` VARCHAR(255),
	`nombre` VARCHAR(255),
	`tipo` VARCHAR(255),
	`nombre_1` VARCHAR(255),
	`izq_desde` INTEGER,
	`izq_hasta` INTEGER,
	`der_desde` INTEGER,
	`der_hasta` INTEGER,
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	PRIMARY KEY (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- estado_stock
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `estado_stock`;


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

#-----------------------------------------------------------------------------
#-- stock
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `stock`;


CREATE TABLE `stock`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`tipo_ayuda_id` INTEGER  NOT NULL,
	`orden_compra_id` INTEGER  NOT NULL,
	`intervencion_id` INTEGER,
	`estado_id` INTEGER,
	PRIMARY KEY (`id`),
	INDEX `stock_FI_1` (`tipo_ayuda_id`),
	CONSTRAINT `stock_FK_1`
		FOREIGN KEY (`tipo_ayuda_id`)
		REFERENCES `tipo_ayuda` (`id`),
	INDEX `stock_FI_2` (`orden_compra_id`),
	CONSTRAINT `stock_FK_2`
		FOREIGN KEY (`orden_compra_id`)
		REFERENCES `orden_compra` (`id`),
	INDEX `stock_FI_3` (`intervencion_id`),
	CONSTRAINT `stock_FK_3`
		FOREIGN KEY (`intervencion_id`)
		REFERENCES `intervencion` (`id`),
	INDEX `stock_FI_4` (`estado_id`),
	CONSTRAINT `stock_FK_4`
		FOREIGN KEY (`estado_id`)
		REFERENCES `estado_stock` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- control_stock
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `control_stock`;


CREATE TABLE `control_stock`
(
	`id` INTEGER  NOT NULL,
	`tipo_ayuda_id` INTEGER  NOT NULL,
	`orden_compra_id` INTEGER  NOT NULL,
	`total` BIGINT,
	`disponible` BIGINT,
	`comprometido` BIGINT,
	`entregado` BIGINT,
	PRIMARY KEY (`id`),
	INDEX `control_stock_FI_1` (`tipo_ayuda_id`),
	CONSTRAINT `control_stock_FK_1`
		FOREIGN KEY (`tipo_ayuda_id`)
		REFERENCES `tipo_ayuda` (`id`),
	INDEX `control_stock_FI_2` (`orden_compra_id`),
	CONSTRAINT `control_stock_FK_2`
		FOREIGN KEY (`orden_compra_id`)
		REFERENCES `orden_compra` (`id`)
) ENGINE=InnoDB;

#-----------------------------------------------------------------------------
#-- ordenes_recibidas
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `ordenes_recibidas`;


CREATE TABLE `ordenes_recibidas`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`usuario_id` INTEGER,
	`fecha` DATETIME,
	`orden_pedido_id` INTEGER  NOT NULL,
	`cantidad` INTEGER,
	`factura_nro` VARCHAR(255),
	`factura_fecha` DATETIME,
	`remito_nro` VARCHAR(255),
	`remito_fecha` DATETIME,
	PRIMARY KEY (`id`),
	INDEX `ordenes_recibidas_FI_1` (`usuario_id`),
	CONSTRAINT `ordenes_recibidas_FK_1`
		FOREIGN KEY (`usuario_id`)
		REFERENCES `sf_guard_user` (`id`),
	INDEX `ordenes_recibidas_FI_2` (`orden_pedido_id`),
	CONSTRAINT `ordenes_recibidas_FK_2`
		FOREIGN KEY (`orden_pedido_id`)
		REFERENCES `orden_pedido` (`id`)
) ENGINE=InnoDB;

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