
# 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;

#-----------------------------------------------------------------------------
#-- con_aspirantes
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_aspirantes`;


CREATE TABLE `con_aspirantes`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(50),
	`apellido` VARCHAR(50),
	`direccion` VARCHAR(100),
	`dni` VARCHAR(20),
	`telefono` VARCHAR(30),
	`email` VARCHAR(50),
	`lugar_nac` VARCHAR(50),
	`fecha_nac` DATE,
	`nacionalidad` VARCHAR(50),
	`con_estado_civil_id` INTEGER,
	`con_localidades_id` INTEGER,
	`con_provincias_id` INTEGER,
	PRIMARY KEY (`id`),
	KEY `dni`(`dni`),
	INDEX `con_aspirantes_FI_1` (`con_estado_civil_id`),
	CONSTRAINT `con_aspirantes_FK_1`
		FOREIGN KEY (`con_estado_civil_id`)
		REFERENCES `con_estado_civil` (`id`),
	INDEX `con_aspirantes_FI_2` (`con_localidades_id`),
	CONSTRAINT `con_aspirantes_FK_2`
		FOREIGN KEY (`con_localidades_id`)
		REFERENCES `con_localidades` (`id`),
	INDEX `con_aspirantes_FI_3` (`con_provincias_id`),
	CONSTRAINT `con_aspirantes_FK_3`
		FOREIGN KEY (`con_provincias_id`)
		REFERENCES `con_provincias` (`id`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- con_estado_civil
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_estado_civil`;


CREATE TABLE `con_estado_civil`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(15),
	PRIMARY KEY (`id`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- con_cargos
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_cargos`;


CREATE TABLE `con_cargos`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(100)  NOT NULL,
	`orden` INTEGER,
	PRIMARY KEY (`id`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- con_carreras
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_carreras`;


CREATE TABLE `con_carreras`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`con_facultades_id` INTEGER,
	`nombre` VARCHAR(255),
	PRIMARY KEY (`id`),
	INDEX `con_carreras_FI_1` (`con_facultades_id`),
	CONSTRAINT `con_carreras_FK_1`
		FOREIGN KEY (`con_facultades_id`)
		REFERENCES `con_facultades` (`id`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- con_resolucion
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_resolucion`;


CREATE TABLE `con_resolucion`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`year` INTEGER  NOT NULL,
	`numero` INTEGER  NOT NULL,
	`fecha` DATE,
	`descripcion` TEXT,
	`created_at` DATETIME,
	`path` VARCHAR(255),
	PRIMARY KEY (`id`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- con_concursos
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_concursos`;


CREATE TABLE `con_concursos`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nro_exp_fac` VARCHAR(20),
	`nombre` VARCHAR(50),
	`inicio_date` DATE  NOT NULL,
	`res_convoca` VARCHAR(20),
	`res_designa` VARCHAR(20),
	`res_designa_fecha` DATE,
	`clasepublica_date` DATE  NOT NULL,
	`con_carreras_id` INTEGER,
	`con_sedes_id` INTEGER,
	`con_facultades_id` INTEGER,
	`con_materias_id` INTEGER,
	`con_dedicaciones_id` INTEGER,
	`con_cargos_id` INTEGER,
	`carrera_materia_id` INTEGER,
	`con_resolucion_id` INTEGER,
	`observacion` TEXT  NOT NULL,
	`cantidad_manual` INTEGER default 0,
	`aspirante_nombre` VARCHAR(50),
	`aspirante_apellido` VARCHAR(50),
	`aspirante_dni` VARCHAR(11),
	`aspirante_titulo` VARCHAR(70),
	`desierto` INTEGER default 0,
	`suspendido` INTEGER default 0,
	`transferido` INTEGER default 0,
	`is_tramite` INTEGER default 0,
	`cual_gano` VARCHAR(100),
	`created_at` DATETIME,
	PRIMARY KEY (`id`),
	INDEX `con_concursos_FI_1` (`con_carreras_id`),
	CONSTRAINT `con_concursos_FK_1`
		FOREIGN KEY (`con_carreras_id`)
		REFERENCES `con_carreras` (`id`),
	INDEX `con_concursos_FI_2` (`con_sedes_id`),
	CONSTRAINT `con_concursos_FK_2`
		FOREIGN KEY (`con_sedes_id`)
		REFERENCES `con_sedes` (`id`),
	INDEX `con_concursos_FI_3` (`con_facultades_id`),
	CONSTRAINT `con_concursos_FK_3`
		FOREIGN KEY (`con_facultades_id`)
		REFERENCES `con_facultades` (`id`),
	INDEX `con_concursos_FI_4` (`con_materias_id`),
	CONSTRAINT `con_concursos_FK_4`
		FOREIGN KEY (`con_materias_id`)
		REFERENCES `con_materias` (`id`),
	INDEX `con_concursos_FI_5` (`con_dedicaciones_id`),
	CONSTRAINT `con_concursos_FK_5`
		FOREIGN KEY (`con_dedicaciones_id`)
		REFERENCES `con_dedicaciones` (`id`),
	INDEX `con_concursos_FI_6` (`con_cargos_id`),
	CONSTRAINT `con_concursos_FK_6`
		FOREIGN KEY (`con_cargos_id`)
		REFERENCES `con_cargos` (`id`),
	INDEX `con_concursos_FI_7` (`carrera_materia_id`),
	CONSTRAINT `con_concursos_FK_7`
		FOREIGN KEY (`carrera_materia_id`)
		REFERENCES `carrera_materia` (`id`),
	INDEX `con_concursos_FI_8` (`con_resolucion_id`),
	CONSTRAINT `con_concursos_FK_8`
		FOREIGN KEY (`con_resolucion_id`)
		REFERENCES `con_resolucion` (`id`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- con_concursos_aspirantes
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_concursos_aspirantes`;


CREATE TABLE `con_concursos_aspirantes`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`con_aspirantes_id` INTEGER,
	`con_concursos_id` INTEGER,
	`created_at` DATETIME,
	`fecha_inscripcion` DATE  NOT NULL,
	`observacion` TEXT,
	`doc_completa` INTEGER default 0 NOT NULL,
	PRIMARY KEY (`id`),
	UNIQUE KEY `con_concursos_aspirantes_Index01` (`con_aspirantes_id`, `con_concursos_id`),
	CONSTRAINT `con_concursos_aspirantes_FK_1`
		FOREIGN KEY (`con_aspirantes_id`)
		REFERENCES `con_aspirantes` (`id`),
	INDEX `con_concursos_aspirantes_FI_2` (`con_concursos_id`),
	CONSTRAINT `con_concursos_aspirantes_FK_2`
		FOREIGN KEY (`con_concursos_id`)
		REFERENCES `con_concursos` (`id`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- con_concursos_jurados
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_concursos_jurados`;


CREATE TABLE `con_concursos_jurados`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`con_jurados_id` INTEGER,
	`con_concursos_id` INTEGER,
	`observacion` TEXT  NOT NULL,
	PRIMARY KEY (`id`),
	INDEX `con_concursos_jurados_FI_1` (`con_jurados_id`),
	CONSTRAINT `con_concursos_jurados_FK_1`
		FOREIGN KEY (`con_jurados_id`)
		REFERENCES `con_jurados` (`id`),
	INDEX `con_concursos_jurados_FI_2` (`con_concursos_id`),
	CONSTRAINT `con_concursos_jurados_FK_2`
		FOREIGN KEY (`con_concursos_id`)
		REFERENCES `con_concursos` (`id`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- con_concursos_cargos_dedic
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_concursos_cargos_dedic`;


CREATE TABLE `con_concursos_cargos_dedic`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`con_concursos_id` INTEGER,
	`con_cargos_id` INTEGER,
	`con_dedicaciones_id` INTEGER,
	`con_concursos_aspirantes_id` INTEGER,
	PRIMARY KEY (`id`),
	UNIQUE KEY `con_concursos_cargos_dedic_index01` (`con_concursos_cargos_dedic`, `con_concursos_id`, `con_cargos_id`, `con_dedicaciones_id`),
	INDEX `con_concursos_cargos_dedic_FI_1` (`con_concursos_id`),
	CONSTRAINT `con_concursos_cargos_dedic_FK_1`
		FOREIGN KEY (`con_concursos_id`)
		REFERENCES `con_concursos` (`id`),
	INDEX `con_concursos_cargos_dedic_FI_2` (`con_cargos_id`),
	CONSTRAINT `con_concursos_cargos_dedic_FK_2`
		FOREIGN KEY (`con_cargos_id`)
		REFERENCES `con_cargos` (`id`),
	INDEX `con_concursos_cargos_dedic_FI_3` (`con_dedicaciones_id`),
	CONSTRAINT `con_concursos_cargos_dedic_FK_3`
		FOREIGN KEY (`con_dedicaciones_id`)
		REFERENCES `con_dedicaciones` (`id`),
	INDEX `con_concursos_cargos_dedic_FI_4` (`con_concursos_aspirantes_id`),
	CONSTRAINT `con_concursos_cargos_dedic_FK_4`
		FOREIGN KEY (`con_concursos_aspirantes_id`)
		REFERENCES `con_concursos_aspirantes` (`id`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- con_dedicaciones
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_dedicaciones`;


CREATE TABLE `con_dedicaciones`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(100) default 'null' NOT NULL,
	PRIMARY KEY (`id`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- con_estados_type
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_estados_type`;


CREATE TABLE `con_estados_type`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(100) default 'null' NOT NULL,
	`periodo` INTEGER,
	`descripcion` VARCHAR(250),
	PRIMARY KEY (`id`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- con_facultades
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_facultades`;


CREATE TABLE `con_facultades`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(255),
	`nombre_largo` VARCHAR(50),
	`establecimiento_id` INTEGER,
	`activa` TINYINT default 1,
	PRIMARY KEY (`id`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- con_historico
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_historico`;


CREATE TABLE `con_historico`
(
	`con_concursos_id` INTEGER,
	`con_estados_type_id` INTEGER,
	`fecha_inicio_date` DATE,
	`fecha_fin_date` DATE,
	`observacion` INTEGER,
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	PRIMARY KEY (`id`),
	INDEX `con_historico_FI_1` (`con_concursos_id`),
	CONSTRAINT `con_historico_FK_1`
		FOREIGN KEY (`con_concursos_id`)
		REFERENCES `con_concursos` (`id`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- con_jurados
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_jurados`;


CREATE TABLE `con_jurados`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(50),
	`apellido` VARCHAR(50),
	`direccion` VARCHAR(100),
	`dni` VARCHAR(20),
	`telefono` VARCHAR(30),
	`email` VARCHAR(100),
	`lugar_nac` VARCHAR(50),
	`fecha_nac` DATE,
	`nacionalidad` VARCHAR(50),
	`estado_civil` VARCHAR(20),
	`claustro` VARCHAR(100),
	`universidad` VARCHAR(40),
	`facultad` VARCHAR(100),
	`carrera` VARCHAR(100),
	`cargo` VARCHAR(100),
	`catedra` VARCHAR(255),
	`habilitado` INTEGER default 1 NOT NULL,
	PRIMARY KEY (`id`),
	KEY `dni`(`dni`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- con_localidades
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_localidades`;


CREATE TABLE `con_localidades`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(255),
	`con_provincias_id` INTEGER,
	`cod_postal` VARCHAR(20),
	PRIMARY KEY (`id`),
	INDEX `con_localidades_FI_1` (`con_provincias_id`),
	CONSTRAINT `con_localidades_FK_1`
		FOREIGN KEY (`con_provincias_id`)
		REFERENCES `con_provincias` (`id`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- con_provincias
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_provincias`;


CREATE TABLE `con_provincias`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(255),
	`cod_prov` VARCHAR,
	PRIMARY KEY (`id`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- con_sedes
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_sedes`;


CREATE TABLE `con_sedes`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(255),
	`con_localidades_id` INTEGER,
	PRIMARY KEY (`id`),
	INDEX `con_sedes_FI_1` (`con_localidades_id`),
	CONSTRAINT `con_sedes_FK_1`
		FOREIGN KEY (`con_localidades_id`)
		REFERENCES `con_localidades` (`id`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- con_materias
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_materias`;


CREATE TABLE `con_materias`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(200),
	PRIMARY KEY (`id`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- carrera_materia
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `carrera_materia`;


CREATE TABLE `carrera_materia`
(
	`con_materias_id` INTEGER,
	`con_carreras_id` INTEGER,
	`plan` INTEGER,
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	PRIMARY KEY (`id`),
	INDEX `carrera_materia_FI_1` (`con_materias_id`),
	CONSTRAINT `carrera_materia_FK_1`
		FOREIGN KEY (`con_materias_id`)
		REFERENCES `con_materias` (`id`),
	INDEX `carrera_materia_FI_2` (`con_carreras_id`),
	CONSTRAINT `carrera_materia_FK_2`
		FOREIGN KEY (`con_carreras_id`)
		REFERENCES `con_carreras` (`id`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- con_concursos_novedades
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_concursos_novedades`;


CREATE TABLE `con_concursos_novedades`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`con_concursos_id` INTEGER  NOT NULL,
	`created_at` DATETIME,
	`descripcion` TEXT,
	`seg_usuario_id` INTEGER,
	PRIMARY KEY (`id`),
	INDEX `con_concursos_novedades_FI_1` (`con_concursos_id`),
	CONSTRAINT `con_concursos_novedades_FK_1`
		FOREIGN KEY (`con_concursos_id`)
		REFERENCES `con_concursos` (`id`)
		ON DELETE CASCADE
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- con_paises
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_paises`;


CREATE TABLE `con_paises`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`nombre` VARCHAR(50),
	`nombre_largo` VARCHAR(255),
	`orden` INTEGER,
	PRIMARY KEY (`id`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- con_pautas
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `con_pautas`;


CREATE TABLE `con_pautas`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`cierre` INTEGER,
	`present_doc` INTEGER,
	`remite_nomina` INTEGER,
	`exibe_nomina_aspirante` INTEGER,
	`exibe_nomina_aspirante_fin` INTEGER,
	`impugnacion_asp_vista` INTEGER,
	`impugnacion_notif_resol` INTEGER,
	`impugnacion_asp_apela` INTEGER,
	`impugnacion_resol` INTEGER,
	`jurado_designa_resol` INTEGER,
	`apelacion_resol` INTEGER,
	`jurado_designa_notif` INTEGER,
	`jurado_designa_recusa` INTEGER,
	`impugnacion_asp` INTEGER,
	`impugnacion_resol_apela` INTEGER,
	`jurado_designa_recusa_vista` INTEGER,
	`jurado_designa_recusa_descargo` INTEGER,
	`jurado_designa_recusa_eleva_cd` INTEGER,
	`jurado_designa_recusa_resol` INTEGER,
	`jurado_designa_firme` INTEGER,
	`evaluacion_resolucion` INTEGER,
	`evaluacion_jurado_reunion` INTEGER,
	`sorteo_fecha` INTEGER,
	`elevacion_orden_merito` INTEGER,
	`dictamen_aspirantes_notifica` INTEGER,
	`dictamen_aspirantes_impugnacion` INTEGER,
	`dictamen_fin_solicitud_ampliacion` INTEGER,
	`resolucion_cd` INTEGER,
	`resolucion_cd_notificacion` INTEGER,
	`resolucion_cd_impugnacion` INTEGER,
	PRIMARY KEY (`id`)
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- 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,
	`first_name` VARCHAR,
	`last_name` VARCHAR,
	`fecha_nac` DATE,
	`email` VARCHAR,
	`created_at` DATETIME,
	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
)Type=MyISAM;

#-----------------------------------------------------------------------------
#-- concurso_plan
#-----------------------------------------------------------------------------

DROP TABLE IF EXISTS `concurso_plan`;


CREATE TABLE `concurso_plan`
(
	`id` INTEGER  NOT NULL AUTO_INCREMENT,
	`carrera_materia_id` INTEGER,
	`con_concursos_id` INTEGER,
	`created_at` DATETIME,
	PRIMARY KEY (`id`),
	INDEX `concurso_plan_FI_1` (`carrera_materia_id`),
	CONSTRAINT `concurso_plan_FK_1`
		FOREIGN KEY (`carrera_materia_id`)
		REFERENCES `carrera_materia` (`id`),
	INDEX `concurso_plan_FI_2` (`con_concursos_id`),
	CONSTRAINT `concurso_plan_FK_2`
		FOREIGN KEY (`con_concursos_id`)
		REFERENCES `con_concursos` (`id`)
)Type=MyISAM;

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