Author: josx Date: 2008-02-06 23:20:36 -0200 (Wed, 06 Feb 2008) New Revision: 5448 Added: prosistem/alba/trunk/alba/data/sql/lib.model.schema.mysql.sql prosistem/alba/trunk/alba/data/sql/lib.model.schema.pgsql.sql Removed: prosistem/alba/trunk/alba/data/sql/lib.model.schema.sql prosistem/alba/trunk/alba/lib/model/map/ prosistem/alba/trunk/alba/lib/model/om/ Modified: prosistem/alba/trunk/alba/data/sql/create-db.sql prosistem/alba/trunk/alba/web/instalar/funciones.php prosistem/alba/trunk/alba/web/instalar/instalar.php prosistem/alba/trunk/alba/web/instalar/paso1.php prosistem/alba/trunk/alba/web/instalar/paso3.php prosistem/alba/trunk/alba/web/instalar/paso4.php prosistem/alba/trunk/alba/web/instalar/paso5.php prosistem/alba/trunk/alba/web/instalar/paso6.php Log: Grandes cambios para soportar pgsql en el instalador (actualmente crea el modelo directamente en la instalacion) Modified: prosistem/alba/trunk/alba/data/sql/create-db.sql =================================================================== --- prosistem/alba/trunk/alba/data/sql/create-db.sql 2008-02-07 01:17:13 UTC (rev 5447) +++ prosistem/alba/trunk/alba/data/sql/create-db.sql 2008-02-07 01:20:36 UTC (rev 5448) @@ -1,2 +1,2 @@ drop database if exists alba; -create database alba DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; \ No newline at end of file +create database alba; \ No newline at end of file Copied: prosistem/alba/trunk/alba/data/sql/lib.model.schema.mysql.sql (from rev 5438, prosistem/alba/trunk/alba/data/sql/lib.model.schema.sql) =================================================================== --- prosistem/alba/trunk/alba/data/sql/lib.model.schema.mysql.sql (rev 0) +++ prosistem/alba/trunk/alba/data/sql/lib.model.schema.mysql.sql 2008-02-07 01:20:36 UTC (rev 5448) @@ -0,0 +1,1485 @@ + +# 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; + +#----------------------------------------------------------------------------- +#-- conceptobaja +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `conceptobaja`; + + +CREATE TABLE `conceptobaja` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- tipodocumento +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `tipodocumento`; + + +CREATE TABLE `tipodocumento` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + `orden` INTEGER default 0, + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- tipoiva +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `tipoiva`; + + +CREATE TABLE `tipoiva` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + `orden` INTEGER default 0, + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- pais +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `pais`; + + +CREATE TABLE `pais` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre_largo` VARCHAR(128) NOT NULL, + `nombre_corto` VARCHAR(32) NOT NULL, + `orden` INTEGER default 0, + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- tipoespacio +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `tipoespacio`; + + +CREATE TABLE `tipoespacio` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- provincia +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `provincia`; + + +CREATE TABLE `provincia` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre_corto` VARCHAR(32) NOT NULL, + `nombre_largo` VARCHAR(128) NOT NULL, + `fk_pais_id` INTEGER default 0 NOT NULL, + `orden` INTEGER default 0, + PRIMARY KEY (`id`), + INDEX `provincia_FI_1` (`fk_pais_id`), + CONSTRAINT `provincia_FK_1` + FOREIGN KEY (`fk_pais_id`) + REFERENCES `pais` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- tipolocacion +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `tipolocacion`; + + +CREATE TABLE `tipolocacion` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- locacion +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `locacion`; + + +CREATE TABLE `locacion` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + `direccion` VARCHAR(128) NOT NULL, + `ciudad` VARCHAR(128) NOT NULL, + `codigo_postal` VARCHAR(20), + `fk_provincia_id` INTEGER default 0 NOT NULL, + `fk_tipolocacion_id` INTEGER default 0 NOT NULL, + `telefono` VARCHAR(20), + `fax` VARCHAR(20), + `encargado` VARCHAR(128), + `encargado_telefono` VARCHAR(20), + `principal` INTEGER default 0 NOT NULL, + PRIMARY KEY (`id`), + INDEX `locacion_FI_1` (`fk_provincia_id`), + CONSTRAINT `locacion_FK_1` + FOREIGN KEY (`fk_provincia_id`) + REFERENCES `provincia` (`id`), + INDEX `locacion_FI_2` (`fk_tipolocacion_id`), + CONSTRAINT `locacion_FK_2` + FOREIGN KEY (`fk_tipolocacion_id`) + REFERENCES `tipolocacion` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- modulo +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `modulo`; + + +CREATE TABLE `modulo` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `titulo` VARCHAR(128), + `descripcion` VARCHAR(255), + `activo` INTEGER default 1 NOT NULL, + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- espacio +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `espacio`; + + +CREATE TABLE `espacio` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `m2` FLOAT, + `capacidad` VARCHAR(255), + `descripcion` VARCHAR(255), + `estado` VARCHAR(255), + `fk_tipoespacio_id` INTEGER, + `fk_locacion_id` INTEGER default 0 NOT NULL, + PRIMARY KEY (`id`), + INDEX `espacio_FI_1` (`fk_tipoespacio_id`), + CONSTRAINT `espacio_FK_1` + FOREIGN KEY (`fk_tipoespacio_id`) + REFERENCES `tipoespacio` (`id`), + INDEX `espacio_FI_2` (`fk_locacion_id`), + CONSTRAINT `espacio_FK_2` + FOREIGN KEY (`fk_locacion_id`) + REFERENCES `locacion` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- distritoescolar +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `distritoescolar`; + + +CREATE TABLE `distritoescolar` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `direccion` VARCHAR(128), + `telefono` VARCHAR(20), + `ciudad` VARCHAR(128), + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- niveltipo +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `niveltipo`; + + +CREATE TABLE `niveltipo` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- organizacion +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `organizacion`; + + +CREATE TABLE `organizacion` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + `razon_social` VARCHAR(128) NOT NULL, + `cuit` VARCHAR(20) NOT NULL, + `direccion` VARCHAR(128) NOT NULL, + `ciudad` VARCHAR(128) NOT NULL, + `codigo_postal` VARCHAR(20) NOT NULL, + `telefono` VARCHAR(20), + `fk_provincia_id` INTEGER default 0 NOT NULL, + `fk_tipoiva_id` INTEGER default 0 NOT NULL, + PRIMARY KEY (`id`), + INDEX `organizacion_FI_1` (`fk_provincia_id`), + CONSTRAINT `organizacion_FK_1` + FOREIGN KEY (`fk_provincia_id`) + REFERENCES `provincia` (`id`), + INDEX `organizacion_FI_2` (`fk_tipoiva_id`), + CONSTRAINT `organizacion_FK_2` + FOREIGN KEY (`fk_tipoiva_id`) + REFERENCES `tipoiva` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- establecimiento +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `establecimiento`; + + +CREATE TABLE `establecimiento` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + `fk_distritoescolar_id` INTEGER default 0 NOT NULL, + `fk_organizacion_id` INTEGER default 0 NOT NULL, + `fk_niveltipo_id` INTEGER default 0 NOT NULL, + PRIMARY KEY (`id`), + INDEX `establecimiento_FI_1` (`fk_distritoescolar_id`), + CONSTRAINT `establecimiento_FK_1` + FOREIGN KEY (`fk_distritoescolar_id`) + REFERENCES `distritoescolar` (`id`), + INDEX `establecimiento_FI_2` (`fk_organizacion_id`), + CONSTRAINT `establecimiento_FK_2` + FOREIGN KEY (`fk_organizacion_id`) + REFERENCES `organizacion` (`id`), + INDEX `establecimiento_FI_3` (`fk_niveltipo_id`), + CONSTRAINT `establecimiento_FK_3` + FOREIGN KEY (`fk_niveltipo_id`) + REFERENCES `niveltipo` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- permiso +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `permiso`; + + +CREATE TABLE `permiso` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + `fk_modulo_id` INTEGER default 0 NOT NULL, + `credencial` VARCHAR(32), + PRIMARY KEY (`id`), + INDEX `permiso_FI_1` (`fk_modulo_id`), + CONSTRAINT `permiso_FK_1` + FOREIGN KEY (`fk_modulo_id`) + REFERENCES `modulo` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- preferencia +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `preferencia`; + + +CREATE TABLE `preferencia` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `valor_por_defecto` VARCHAR(128), + `activo` INTEGER default 1 NOT NULL, + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- rol +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `rol`; + + +CREATE TABLE `rol` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + `activo` INTEGER default 1 NOT NULL, + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- usuario +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `usuario`; + + +CREATE TABLE `usuario` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `usuario` VARCHAR(32) NOT NULL, + `clave` VARCHAR(48) NOT NULL, + `correo_publico` INTEGER default 1, + `activo` INTEGER default 1 NOT NULL, + `fecha_creado` DATETIME NOT NULL, + `fecha_actualizado` DATETIME NOT NULL, + `seguridad_pregunta` VARCHAR(128), + `seguridad_respuesta` VARCHAR(128), + `email` VARCHAR(128), + `fk_establecimiento_id` INTEGER default 0 NOT NULL, + `borrado` INTEGER default 0 NOT NULL, + PRIMARY KEY (`id`), + INDEX `usuario_FI_1` (`fk_establecimiento_id`), + CONSTRAINT `usuario_FK_1` + FOREIGN KEY (`fk_establecimiento_id`) + REFERENCES `establecimiento` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- rel_establecimiento_locacion +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `rel_establecimiento_locacion`; + + +CREATE TABLE `rel_establecimiento_locacion` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_establecimiento_id` INTEGER default 0 NOT NULL, + `fk_locacion_id` INTEGER default 0 NOT NULL, + PRIMARY KEY (`id`), + INDEX `rel_establecimiento_locacion_FI_1` (`fk_establecimiento_id`), + CONSTRAINT `rel_establecimiento_locacion_FK_1` + FOREIGN KEY (`fk_establecimiento_id`) + REFERENCES `establecimiento` (`id`), + INDEX `rel_establecimiento_locacion_FI_2` (`fk_locacion_id`), + CONSTRAINT `rel_establecimiento_locacion_FK_2` + FOREIGN KEY (`fk_locacion_id`) + REFERENCES `locacion` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- rel_rol_permiso +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `rel_rol_permiso`; + + +CREATE TABLE `rel_rol_permiso` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_rol_id` INTEGER default 0 NOT NULL, + `fk_permiso_id` INTEGER default 0 NOT NULL, + PRIMARY KEY (`id`), + INDEX `rel_rol_permiso_FI_1` (`fk_rol_id`), + CONSTRAINT `rel_rol_permiso_FK_1` + FOREIGN KEY (`fk_rol_id`) + REFERENCES `rol` (`id`), + INDEX `rel_rol_permiso_FI_2` (`fk_permiso_id`), + CONSTRAINT `rel_rol_permiso_FK_2` + FOREIGN KEY (`fk_permiso_id`) + REFERENCES `permiso` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- rel_usuario_permiso +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `rel_usuario_permiso`; + + +CREATE TABLE `rel_usuario_permiso` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_usuario_id` INTEGER default 0 NOT NULL, + `fk_permiso_id` INTEGER default 0 NOT NULL, + PRIMARY KEY (`id`), + INDEX `rel_usuario_permiso_FI_1` (`fk_usuario_id`), + CONSTRAINT `rel_usuario_permiso_FK_1` + FOREIGN KEY (`fk_usuario_id`) + REFERENCES `usuario` (`id`), + INDEX `rel_usuario_permiso_FI_2` (`fk_permiso_id`), + CONSTRAINT `rel_usuario_permiso_FK_2` + FOREIGN KEY (`fk_permiso_id`) + REFERENCES `permiso` (`id`) + ON DELETE CASCADE +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- rel_usuario_preferencia +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `rel_usuario_preferencia`; + + +CREATE TABLE `rel_usuario_preferencia` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_usuario_id` INTEGER default 0 NOT NULL, + `fk_preferencia_id` INTEGER default 0 NOT NULL, + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- orientacion +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `orientacion`; + + +CREATE TABLE `orientacion` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- cuenta +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `cuenta`; + + +CREATE TABLE `cuenta` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `razon_social` VARCHAR(128) NOT NULL, + `cuit` VARCHAR(20) NOT NULL, + `direccion` VARCHAR(128) NOT NULL, + `ciudad` VARCHAR(128) NOT NULL, + `codigo_postal` VARCHAR(20) NOT NULL, + `telefono` VARCHAR(20), + `fk_provincia_id` INTEGER, + `fk_tipoiva_id` INTEGER default 0 NOT NULL, + PRIMARY KEY (`id`), + INDEX `cuenta_FI_1` (`fk_provincia_id`), + CONSTRAINT `cuenta_FK_1` + FOREIGN KEY (`fk_provincia_id`) + REFERENCES `provincia` (`id`), + INDEX `cuenta_FI_2` (`fk_tipoiva_id`), + CONSTRAINT `cuenta_FK_2` + FOREIGN KEY (`fk_tipoiva_id`) + REFERENCES `tipoiva` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- alumno +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `alumno`; + + +CREATE TABLE `alumno` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `apellido` VARCHAR(128) NOT NULL, + `fecha_nacimiento` DATETIME NOT NULL, + `direccion` VARCHAR(128) NOT NULL, + `ciudad` VARCHAR(128) NOT NULL, + `codigo_postal` VARCHAR(20) NOT NULL, + `fk_provincia_id` INTEGER default 0 NOT NULL, + `telefono` VARCHAR(20), + `lugar_nacimiento` VARCHAR(128), + `fk_tipodocumento_id` INTEGER default 0 NOT NULL, + `nro_documento` VARCHAR(16) NOT NULL, + `sexo` CHAR(1) NOT NULL, + `email` VARCHAR(128) NOT NULL, + `distancia_escuela` INTEGER default 0, + `hermanos_escuela` INTEGER default 0 NOT NULL, + `hijo_maestro_escuela` INTEGER default 0 NOT NULL, + `fk_establecimiento_id` INTEGER default 0 NOT NULL, + `fk_cuenta_id` INTEGER default 0 NOT NULL, + `certificado_medico` INTEGER default 0 NOT NULL, + `activo` INTEGER default 1 NOT NULL, + `fk_conceptobaja_id` INTEGER, + `fk_pais_id` INTEGER default 0 NOT NULL, + PRIMARY KEY (`id`), + INDEX `alumno_FI_1` (`fk_provincia_id`), + CONSTRAINT `alumno_FK_1` + FOREIGN KEY (`fk_provincia_id`) + REFERENCES `provincia` (`id`), + INDEX `alumno_FI_2` (`fk_tipodocumento_id`), + CONSTRAINT `alumno_FK_2` + FOREIGN KEY (`fk_tipodocumento_id`) + REFERENCES `tipodocumento` (`id`), + INDEX `alumno_FI_3` (`fk_establecimiento_id`), + CONSTRAINT `alumno_FK_3` + FOREIGN KEY (`fk_establecimiento_id`) + REFERENCES `establecimiento` (`id`), + INDEX `alumno_FI_4` (`fk_cuenta_id`), + CONSTRAINT `alumno_FK_4` + FOREIGN KEY (`fk_cuenta_id`) + REFERENCES `cuenta` (`id`), + INDEX `alumno_FI_5` (`fk_conceptobaja_id`), + CONSTRAINT `alumno_FK_5` + FOREIGN KEY (`fk_conceptobaja_id`) + REFERENCES `conceptobaja` (`id`), + INDEX `alumno_FI_6` (`fk_pais_id`), + CONSTRAINT `alumno_FK_6` + FOREIGN KEY (`fk_pais_id`) + REFERENCES `pais` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- rol_responsable +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `rol_responsable`; + + +CREATE TABLE `rol_responsable` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + `activo` INTEGER default 1 NOT NULL, + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- responsable +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `responsable`; + + +CREATE TABLE `responsable` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `apellido` VARCHAR(128) NOT NULL, + `direccion` VARCHAR(128), + `ciudad` VARCHAR(128), + `codigo_postal` VARCHAR(20), + `fk_provincia_id` INTEGER default 0 NOT NULL, + `telefono` VARCHAR(20), + `telefono_movil` VARCHAR(20), + `nro_documento` VARCHAR(20) NOT NULL, + `fk_tipodocumento_id` INTEGER default 0 NOT NULL, + `sexo` CHAR(1) NOT NULL, + `email` VARCHAR(128), + `observacion` VARCHAR(255), + `autorizacion_retiro` INTEGER default 0 NOT NULL, + `fk_cuenta_id` INTEGER default 0 NOT NULL, + `fk_rolresponsable_id` INTEGER default 1 NOT NULL, + PRIMARY KEY (`id`), + INDEX `responsable_FI_1` (`fk_provincia_id`), + CONSTRAINT `responsable_FK_1` + FOREIGN KEY (`fk_provincia_id`) + REFERENCES `provincia` (`id`), + INDEX `responsable_FI_2` (`fk_tipodocumento_id`), + CONSTRAINT `responsable_FK_2` + FOREIGN KEY (`fk_tipodocumento_id`) + REFERENCES `tipodocumento` (`id`), + INDEX `responsable_FI_3` (`fk_cuenta_id`), + CONSTRAINT `responsable_FK_3` + FOREIGN KEY (`fk_cuenta_id`) + REFERENCES `cuenta` (`id`), + INDEX `responsable_FI_4` (`fk_rolresponsable_id`), + CONSTRAINT `responsable_FK_4` + FOREIGN KEY (`fk_rolresponsable_id`) + REFERENCES `rol_responsable` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- ciclolectivo +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `ciclolectivo`; + + +CREATE TABLE `ciclolectivo` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_establecimiento_id` INTEGER NOT NULL, + `fecha_inicio` DATETIME NOT NULL, + `fecha_fin` DATETIME NOT NULL, + `descripcion` VARCHAR(255) NOT NULL, + `actual` INTEGER default 0 NOT NULL, + PRIMARY KEY (`id`), + INDEX `ciclolectivo_FI_1` (`fk_establecimiento_id`), + CONSTRAINT `ciclolectivo_FK_1` + FOREIGN KEY (`fk_establecimiento_id`) + REFERENCES `establecimiento` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- turno +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `turno`; + + +CREATE TABLE `turno` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_ciclolectivo_id` INTEGER NOT NULL, + `hora_inicio` TIME NOT NULL, + `hora_fin` TIME NOT NULL, + `descripcion` VARCHAR(255) NOT NULL, + PRIMARY KEY (`id`), + INDEX `turno_FI_1` (`fk_ciclolectivo_id`), + CONSTRAINT `turno_FK_1` + FOREIGN KEY (`fk_ciclolectivo_id`) + REFERENCES `ciclolectivo` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- periodo +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `periodo`; + + +CREATE TABLE `periodo` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_ciclolectivo_id` INTEGER NOT NULL, + `fecha_inicio` DATETIME NOT NULL, + `fecha_fin` DATETIME NOT NULL, + `descripcion` VARCHAR(255) NOT NULL, + PRIMARY KEY (`id`), + INDEX `periodo_FI_1` (`fk_ciclolectivo_id`), + CONSTRAINT `periodo_FK_1` + FOREIGN KEY (`fk_ciclolectivo_id`) + REFERENCES `ciclolectivo` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- tipodocente +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `tipodocente`; + + +CREATE TABLE `tipodocente` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- cargobaja +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `cargobaja`; + + +CREATE TABLE `cargobaja` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- calendariovacunacion +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `calendariovacunacion`; + + +CREATE TABLE `calendariovacunacion` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + `periodo` VARCHAR(128), + `observacion` VARCHAR(255), + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- rel_calendariovacunacion_alumno +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `rel_calendariovacunacion_alumno`; + + +CREATE TABLE `rel_calendariovacunacion_alumno` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_alumno_id` INTEGER NOT NULL, + `fk_calendariovacunacion_id` INTEGER NOT NULL, + `observacion` VARCHAR(255), + `comprobante` INTEGER default 0 NOT NULL, + `fecha` DATETIME, + PRIMARY KEY (`id`), + INDEX `rel_calendariovacunacion_alumno_FI_1` (`fk_alumno_id`), + CONSTRAINT `rel_calendariovacunacion_alumno_FK_1` + FOREIGN KEY (`fk_alumno_id`) + REFERENCES `alumno` (`id`), + INDEX `rel_calendariovacunacion_alumno_FI_2` (`fk_calendariovacunacion_id`), + CONSTRAINT `rel_calendariovacunacion_alumno_FK_2` + FOREIGN KEY (`fk_calendariovacunacion_id`) + REFERENCES `calendariovacunacion` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- legajocategoria +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `legajocategoria`; + + +CREATE TABLE `legajocategoria` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `descripcion` VARCHAR(255) NOT NULL, + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- legajopedagogico +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `legajopedagogico`; + + +CREATE TABLE `legajopedagogico` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_alumno_id` INTEGER NOT NULL, + `titulo` VARCHAR(255) NOT NULL, + `resumen` LONGBLOB NOT NULL, + `texto` LONGBLOB NOT NULL, + `fecha` DATETIME NOT NULL, + `fk_usuario_id` INTEGER NOT NULL, + `fk_legajocategoria_id` INTEGER NOT NULL, + PRIMARY KEY (`id`), + INDEX `legajopedagogico_FI_1` (`fk_alumno_id`), + CONSTRAINT `legajopedagogico_FK_1` + FOREIGN KEY (`fk_alumno_id`) + REFERENCES `alumno` (`id`), + INDEX `legajopedagogico_FI_2` (`fk_usuario_id`), + CONSTRAINT `legajopedagogico_FK_2` + FOREIGN KEY (`fk_usuario_id`) + REFERENCES `usuario` (`id`), + INDEX `legajopedagogico_FI_3` (`fk_legajocategoria_id`), + CONSTRAINT `legajopedagogico_FK_3` + FOREIGN KEY (`fk_legajocategoria_id`) + REFERENCES `legajocategoria` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- adjunto +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `adjunto`; + + +CREATE TABLE `adjunto` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `descripcion` VARCHAR(255), + `titulo` VARCHAR(255), + `nombre_archivo` VARCHAR(255) NOT NULL, + `tipo_archivo` VARCHAR(64) NOT NULL, + `ruta` VARCHAR(255) NOT NULL, + `fecha` DATETIME NOT NULL, + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- legajoadjunto +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `legajoadjunto`; + + +CREATE TABLE `legajoadjunto` +( + `fk_legajopedagogico_id` INTEGER NOT NULL, + `fk_adjunto_id` INTEGER NOT NULL, + `id` INTEGER NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`id`), + INDEX `legajoadjunto_FI_1` (`fk_legajopedagogico_id`), + CONSTRAINT `legajoadjunto_FK_1` + FOREIGN KEY (`fk_legajopedagogico_id`) + REFERENCES `legajopedagogico` (`id`), + INDEX `legajoadjunto_FI_2` (`fk_adjunto_id`), + CONSTRAINT `legajoadjunto_FK_2` + FOREIGN KEY (`fk_adjunto_id`) + REFERENCES `adjunto` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- tipoasistencia +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `tipoasistencia`; + + +CREATE TABLE `tipoasistencia` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(10) NOT NULL, + `descripcion` VARCHAR(255), + `valor` DECIMAL(4,2) default 1 NOT NULL, + `grupo` VARCHAR(30), + `defecto` INTEGER default 0 NOT NULL, + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- asistencia +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `asistencia`; + + +CREATE TABLE `asistencia` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_alumno_id` INTEGER NOT NULL, + `fk_tipoasistencia_id` INTEGER NOT NULL, + `fecha` DATETIME NOT NULL, + PRIMARY KEY (`id`), + INDEX `asistencia_FI_1` (`fk_alumno_id`), + CONSTRAINT `asistencia_FK_1` + FOREIGN KEY (`fk_alumno_id`) + REFERENCES `alumno` (`id`), + INDEX `asistencia_FI_2` (`fk_tipoasistencia_id`), + CONSTRAINT `asistencia_FK_2` + FOREIGN KEY (`fk_tipoasistencia_id`) + REFERENCES `tipoasistencia` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- concepto +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `concepto`; + + +CREATE TABLE `concepto` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_establecimiento_id` INTEGER default 0 NOT NULL, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + PRIMARY KEY (`id`), + INDEX `concepto_FI_1` (`fk_establecimiento_id`), + CONSTRAINT `concepto_FK_1` + FOREIGN KEY (`fk_establecimiento_id`) + REFERENCES `establecimiento` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- escalanota +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `escalanota`; + + +CREATE TABLE `escalanota` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_establecimiento_id` INTEGER default 0 NOT NULL, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + `orden` INTEGER NOT NULL, + `aprobado` INTEGER default 0 NOT NULL, + PRIMARY KEY (`id`), + INDEX `escalanota_FI_1` (`fk_establecimiento_id`), + CONSTRAINT `escalanota_FK_1` + FOREIGN KEY (`fk_establecimiento_id`) + REFERENCES `establecimiento` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- boletin_conceptual +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `boletin_conceptual`; + + +CREATE TABLE `boletin_conceptual` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_escalanota_id` INTEGER, + `fk_alumno_id` INTEGER default 0 NOT NULL, + `fk_concepto_id` INTEGER default 0 NOT NULL, + `fk_periodo_id` INTEGER default 0 NOT NULL, + `observacion` LONGBLOB NOT NULL, + `fecha` DATETIME NOT NULL, + PRIMARY KEY (`id`), + INDEX `boletin_conceptual_FI_1` (`fk_escalanota_id`), + CONSTRAINT `boletin_conceptual_FK_1` + FOREIGN KEY (`fk_escalanota_id`) + REFERENCES `escalanota` (`id`), + INDEX `boletin_conceptual_FI_2` (`fk_alumno_id`), + CONSTRAINT `boletin_conceptual_FK_2` + FOREIGN KEY (`fk_alumno_id`) + REFERENCES `alumno` (`id`), + INDEX `boletin_conceptual_FI_3` (`fk_concepto_id`), + CONSTRAINT `boletin_conceptual_FK_3` + FOREIGN KEY (`fk_concepto_id`) + REFERENCES `concepto` (`id`), + INDEX `boletin_conceptual_FI_4` (`fk_periodo_id`), + CONSTRAINT `boletin_conceptual_FK_4` + FOREIGN KEY (`fk_periodo_id`) + REFERENCES `periodo` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- actividad +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `actividad`; + + +CREATE TABLE `actividad` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_establecimiento_id` INTEGER default 0 NOT NULL, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + PRIMARY KEY (`id`), + INDEX `actividad_FI_1` (`fk_establecimiento_id`), + CONSTRAINT `actividad_FK_1` + FOREIGN KEY (`fk_establecimiento_id`) + REFERENCES `establecimiento` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- boletin_actividades +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `boletin_actividades`; + + +CREATE TABLE `boletin_actividades` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_escalanota_id` INTEGER, + `fk_alumno_id` INTEGER default 0 NOT NULL, + `fk_actividad_id` INTEGER default 0 NOT NULL, + `fk_periodo_id` INTEGER default 0 NOT NULL, + `observacion` LONGBLOB NOT NULL, + `fecha` DATETIME NOT NULL, + PRIMARY KEY (`id`), + INDEX `boletin_actividades_FI_1` (`fk_escalanota_id`), + CONSTRAINT `boletin_actividades_FK_1` + FOREIGN KEY (`fk_escalanota_id`) + REFERENCES `escalanota` (`id`), + INDEX `boletin_actividades_FI_2` (`fk_alumno_id`), + CONSTRAINT `boletin_actividades_FK_2` + FOREIGN KEY (`fk_alumno_id`) + REFERENCES `alumno` (`id`), + INDEX `boletin_actividades_FI_3` (`fk_actividad_id`), + CONSTRAINT `boletin_actividades_FK_3` + FOREIGN KEY (`fk_actividad_id`) + REFERENCES `actividad` (`id`), + INDEX `boletin_actividades_FI_4` (`fk_periodo_id`), + CONSTRAINT `boletin_actividades_FK_4` + FOREIGN KEY (`fk_periodo_id`) + REFERENCES `periodo` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- examen +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `examen`; + + +CREATE TABLE `examen` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_escalanota_id` INTEGER default 0 NOT NULL, + `fk_alumno_id` INTEGER default 0 NOT NULL, + `fk_actividad_id` INTEGER default 0 NOT NULL, + `fk_periodo_id` INTEGER default 0 NOT NULL, + `nombre` VARCHAR(255) NOT NULL, + `observacion` LONGBLOB NOT NULL, + `fecha` DATETIME NOT NULL, + PRIMARY KEY (`id`), + INDEX `examen_FI_1` (`fk_escalanota_id`), + CONSTRAINT `examen_FK_1` + FOREIGN KEY (`fk_escalanota_id`) + REFERENCES `escalanota` (`id`), + INDEX `examen_FI_2` (`fk_alumno_id`), + CONSTRAINT `examen_FK_2` + FOREIGN KEY (`fk_alumno_id`) + REFERENCES `alumno` (`id`), + INDEX `examen_FI_3` (`fk_actividad_id`), + CONSTRAINT `examen_FK_3` + FOREIGN KEY (`fk_actividad_id`) + REFERENCES `actividad` (`id`), + INDEX `examen_FI_4` (`fk_periodo_id`), + CONSTRAINT `examen_FK_4` + FOREIGN KEY (`fk_periodo_id`) + REFERENCES `periodo` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- anio +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `anio`; + + +CREATE TABLE `anio` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_establecimiento_id` INTEGER default 0 NOT NULL, + `descripcion` VARCHAR(255) NOT NULL, + `orden` INTEGER default 0, + PRIMARY KEY (`id`), + INDEX `anio_FI_1` (`fk_establecimiento_id`), + CONSTRAINT `anio_FK_1` + FOREIGN KEY (`fk_establecimiento_id`) + REFERENCES `establecimiento` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- division +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `division`; + + +CREATE TABLE `division` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_anio_id` INTEGER default 0 NOT NULL, + `descripcion` VARCHAR(255) NOT NULL, + `fk_turno_id` INTEGER default 0 NOT NULL, + `fk_orientacion_id` INTEGER, + `orden` INTEGER default 0, + PRIMARY KEY (`id`), + INDEX `division_FI_1` (`fk_anio_id`), + CONSTRAINT `division_FK_1` + FOREIGN KEY (`fk_anio_id`) + REFERENCES `anio` (`id`), + INDEX `division_FI_2` (`fk_turno_id`), + CONSTRAINT `division_FK_2` + FOREIGN KEY (`fk_turno_id`) + REFERENCES `turno` (`id`), + INDEX `division_FI_3` (`fk_orientacion_id`), + CONSTRAINT `division_FK_3` + FOREIGN KEY (`fk_orientacion_id`) + REFERENCES `orientacion` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- repeticion +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `repeticion`; + + +CREATE TABLE `repeticion` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `descripcion` VARCHAR(255) NOT NULL, + `orden` INTEGER default 0 NOT NULL, + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- rel_anio_actividad +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `rel_anio_actividad`; + + +CREATE TABLE `rel_anio_actividad` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_anio_id` INTEGER default 0 NOT NULL, + `fk_actividad_id` INTEGER default 0 NOT NULL, + `fk_orientacion_id` INTEGER, + `horas` DECIMAL(10,2) default 0 NOT NULL, + PRIMARY KEY (`id`), + INDEX `rel_anio_actividad_FI_1` (`fk_anio_id`), + CONSTRAINT `rel_anio_actividad_FK_1` + FOREIGN KEY (`fk_anio_id`) + REFERENCES `anio` (`id`), + INDEX `rel_anio_actividad_FI_2` (`fk_actividad_id`), + CONSTRAINT `rel_anio_actividad_FK_2` + FOREIGN KEY (`fk_actividad_id`) + REFERENCES `actividad` (`id`), + INDEX `rel_anio_actividad_FI_3` (`fk_orientacion_id`), + CONSTRAINT `rel_anio_actividad_FK_3` + FOREIGN KEY (`fk_orientacion_id`) + REFERENCES `orientacion` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- rel_alumno_division +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `rel_alumno_division`; + + +CREATE TABLE `rel_alumno_division` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_division_id` INTEGER default 0 NOT NULL, + `fk_alumno_id` INTEGER default 0 NOT NULL, + PRIMARY KEY (`id`), + INDEX `rel_alumno_division_FI_1` (`fk_division_id`), + CONSTRAINT `rel_alumno_division_FK_1` + FOREIGN KEY (`fk_division_id`) + REFERENCES `division` (`id`), + INDEX `rel_alumno_division_FI_2` (`fk_alumno_id`), + CONSTRAINT `rel_alumno_division_FK_2` + FOREIGN KEY (`fk_alumno_id`) + REFERENCES `alumno` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- docente +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `docente`; + + +CREATE TABLE `docente` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `apellido` VARCHAR(128) NOT NULL, + `nombre` VARCHAR(128) NOT NULL, + `sexo` CHAR(1) NOT NULL, + `fecha_nacimiento` DATETIME NOT NULL, + `fk_tipodocumento_id` INTEGER default 0 NOT NULL, + `nro_documento` VARCHAR(16) NOT NULL, + `lugar_nacimiento` VARCHAR(128), + `direccion` VARCHAR(128), + `ciudad` VARCHAR(128), + `codigo_postal` VARCHAR(20), + `email` VARCHAR(255), + `telefono` VARCHAR(20), + `telefono_movil` VARCHAR(20), + `titulo` VARCHAR(128) NOT NULL, + `libreta_sanitaria` INTEGER default 0, + `psicofisico` INTEGER default 0, + `activo` INTEGER default 1, + `fk_provincia_id` INTEGER default 0 NOT NULL, + `fk_pais_id` INTEGER default 0 NOT NULL, + PRIMARY KEY (`id`), + INDEX `docente_FI_1` (`fk_tipodocumento_id`), + CONSTRAINT `docente_FK_1` + FOREIGN KEY (`fk_tipodocumento_id`) + REFERENCES `tipodocumento` (`id`), + INDEX `docente_FI_2` (`fk_provincia_id`), + CONSTRAINT `docente_FK_2` + FOREIGN KEY (`fk_provincia_id`) + REFERENCES `provincia` (`id`), + INDEX `docente_FI_3` (`fk_pais_id`), + CONSTRAINT `docente_FK_3` + FOREIGN KEY (`fk_pais_id`) + REFERENCES `pais` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- horarioescolartipo +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `horarioescolartipo`; + + +CREATE TABLE `horarioescolartipo` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- evento +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `evento`; + + +CREATE TABLE `evento` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `titulo` VARCHAR(128) NOT NULL, + `fecha_inicio` DATETIME NOT NULL, + `fecha_fin` DATETIME NOT NULL, + `tipo` INTEGER default 0 NOT NULL, + `frecuencia` INTEGER default 0 NOT NULL, + `frecuencia_intervalo` INTEGER default 0 NOT NULL, + `recurrencia_fin` VARCHAR(16), + `recurrencia_dias` INTEGER default 0 NOT NULL, + `estado` INTEGER default 0 NOT NULL, + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- rel_division_actividad_docente +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `rel_division_actividad_docente`; + + +CREATE TABLE `rel_division_actividad_docente` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_division_id` INTEGER default 0, + `fk_actividad_id` INTEGER default 0 NOT NULL, + `fk_docente_id` INTEGER default 0, + `fk_evento_id` INTEGER default 0, + PRIMARY KEY (`id`), + INDEX `rel_division_actividad_docente_FI_1` (`fk_division_id`), + CONSTRAINT `rel_division_actividad_docente_FK_1` + FOREIGN KEY (`fk_division_id`) + REFERENCES `division` (`id`), + INDEX `rel_division_actividad_docente_FI_2` (`fk_actividad_id`), + CONSTRAINT `rel_division_actividad_docente_FK_2` + FOREIGN KEY (`fk_actividad_id`) + REFERENCES `actividad` (`id`), + INDEX `rel_division_actividad_docente_FI_3` (`fk_docente_id`), + CONSTRAINT `rel_division_actividad_docente_FK_3` + FOREIGN KEY (`fk_docente_id`) + REFERENCES `docente` (`id`), + INDEX `rel_division_actividad_docente_FI_4` (`fk_evento_id`), + CONSTRAINT `rel_division_actividad_docente_FK_4` + FOREIGN KEY (`fk_evento_id`) + REFERENCES `evento` (`id`) + ON DELETE CASCADE +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- rel_docente_establecimiento +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `rel_docente_establecimiento`; + + +CREATE TABLE `rel_docente_establecimiento` +( + `fk_establecimiento_id` INTEGER default 0 NOT NULL, + `fk_docente_id` INTEGER default 0 NOT NULL, + `id` INTEGER NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`id`), + INDEX `rel_docente_establecimiento_FI_1` (`fk_establecimiento_id`), + CONSTRAINT `rel_docente_establecimiento_FK_1` + FOREIGN KEY (`fk_establecimiento_id`) + REFERENCES `establecimiento` (`id`), + INDEX `rel_docente_establecimiento_FI_2` (`fk_docente_id`), + CONSTRAINT `rel_docente_establecimiento_FK_2` + FOREIGN KEY (`fk_docente_id`) + REFERENCES `docente` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- docente_horario +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `docente_horario`; + + +CREATE TABLE `docente_horario` +( + `fk_docente_id` INTEGER NOT NULL, + `fk_evento_id` INTEGER NOT NULL, + PRIMARY KEY (`fk_docente_id`,`fk_evento_id`), + CONSTRAINT `docente_horario_FK_1` + FOREIGN KEY (`fk_docente_id`) + REFERENCES `docente` (`id`), + INDEX `docente_horario_FI_2` (`fk_evento_id`), + CONSTRAINT `docente_horario_FK_2` + FOREIGN KEY (`fk_evento_id`) + REFERENCES `evento` (`id`) + ON DELETE CASCADE +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- feriado +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `feriado`; + + +CREATE TABLE `feriado` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `fecha` DATETIME NOT NULL, + `repeticion_anual` INTEGER default 0, + `inamovible` INTEGER default 0, + `fk_ciclolectivo_id` INTEGER default 0 NOT NULL, + PRIMARY KEY (`id`), + INDEX `feriado_FI_1` (`fk_ciclolectivo_id`), + CONSTRAINT `feriado_FK_1` + FOREIGN KEY (`fk_ciclolectivo_id`) + REFERENCES `ciclolectivo` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- horarioescolar +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `horarioescolar`; + + +CREATE TABLE `horarioescolar` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + `fk_evento_id` INTEGER, + `fk_establecimiento_id` INTEGER default 0 NOT NULL, + `fk_turno_id` INTEGER default 0 NOT NULL, + `fk_horarioescolartipo_id` INTEGER default 0 NOT NULL, + PRIMARY KEY (`id`), + INDEX `horarioescolar_FI_1` (`fk_evento_id`), + CONSTRAINT `horarioescolar_FK_1` + FOREIGN KEY (`fk_evento_id`) + REFERENCES `evento` (`id`) + ON DELETE CASCADE, + INDEX `horarioescolar_FI_2` (`fk_establecimiento_id`), + CONSTRAINT `horarioescolar_FK_2` + FOREIGN KEY (`fk_establecimiento_id`) + REFERENCES `establecimiento` (`id`), + INDEX `horarioescolar_FI_3` (`fk_turno_id`), + CONSTRAINT `horarioescolar_FK_3` + FOREIGN KEY (`fk_turno_id`) + REFERENCES `turno` (`id`), + INDEX `horarioescolar_FI_4` (`fk_horarioescolartipo_id`), + CONSTRAINT `horarioescolar_FK_4` + FOREIGN KEY (`fk_horarioescolartipo_id`) + REFERENCES `horarioescolartipo` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- rel_rolresponsable_responsable +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `rel_rolresponsable_responsable`; + + +CREATE TABLE `rel_rolresponsable_responsable` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `fk_rolresponsable_id` INTEGER default 0 NOT NULL, + `fk_responsable_id` INTEGER default 0 NOT NULL, + `fk_alumno_id` INTEGER default 0 NOT NULL, + `descripcion` VARCHAR(255), + PRIMARY KEY (`id`), + INDEX `rel_rolresponsable_responsable_FI_1` (`fk_rolresponsable_id`), + CONSTRAINT `rel_rolresponsable_responsable_FK_1` + FOREIGN KEY (`fk_rolresponsable_id`) + REFERENCES `rol_responsable` (`id`), + INDEX `rel_rolresponsable_responsable_FI_2` (`fk_responsable_id`), + CONSTRAINT `rel_rolresponsable_responsable_FK_2` + FOREIGN KEY (`fk_responsable_id`) + REFERENCES `responsable` (`id`), + INDEX `rel_rolresponsable_responsable_FI_3` (`fk_alumno_id`), + CONSTRAINT `rel_rolresponsable_responsable_FK_3` + FOREIGN KEY (`fk_alumno_id`) + REFERENCES `alumno` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- rel_anio_actividad_docente +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `rel_anio_actividad_docente`; + + +CREATE TABLE `rel_anio_actividad_docente` +( + `fk_anio_actividad_id` INTEGER NOT NULL, + `fk_docente_id` INTEGER NOT NULL, + PRIMARY KEY (`fk_anio_actividad_id`,`fk_docente_id`), + CONSTRAINT `rel_anio_actividad_docente_FK_1` + FOREIGN KEY (`fk_anio_actividad_id`) + REFERENCES `rel_anio_actividad` (`id`), + INDEX `rel_anio_actividad_docente_FI_2` (`fk_docente_id`), + CONSTRAINT `rel_anio_actividad_docente_FK_2` + FOREIGN KEY (`fk_docente_id`) + REFERENCES `docente` (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- tipoinforme +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `tipoinforme`; + + +CREATE TABLE `tipoinforme` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + PRIMARY KEY (`id`) +)Type=InnoDB; + +#----------------------------------------------------------------------------- +#-- informe +#----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS `informe`; + + +CREATE TABLE `informe` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `nombre` VARCHAR(128) NOT NULL, + `descripcion` VARCHAR(255), + `fk_adjunto_id` INTEGER NOT NULL, + `fk_tipoinforme_id` INTEGER NOT NULL, + `listado` INTEGER default 0 NOT NULL, + `variables` VARCHAR(128), + PRIMARY KEY (`id`), + INDEX `informe_FI_1` (`fk_adjunto_id`), + CONSTRAINT `informe_FK_1` + FOREIGN KEY (`fk_adjunto_id`) + REFERENCES `adjunto` (`id`), + INDEX `informe_FI_2` (`fk_tipoinforme_id`), + CONSTRAINT `informe_FK_2` + FOREIGN KEY (`fk_tipoinforme_id`) + REFERENCES `tipoinforme` (`id`) +)Type=InnoDB; + +# This restores the fkey checks, after having unset them earlier +SET FOREIGN_KEY_CHECKS = 1; Added: prosistem/alba/trunk/alba/data/sql/lib.model.schema.pgsql.sql =================================================================== --- prosistem/alba/trunk/alba/data/sql/lib.model.schema.pgsql.sql (rev 0) +++ prosistem/alba/trunk/alba/data/sql/lib.model.schema.pgsql.sql 2008-02-07 01:20:36 UTC (rev 5448) @@ -0,0 +1,1794 @@ + +----------------------------------------------------------------------------- +-- conceptobaja +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "conceptobaja" CASCADE; + +DROP SEQUENCE IF EXISTS "conceptobaja_seq"; + +CREATE SEQUENCE "conceptobaja_seq"; + + +CREATE TABLE "conceptobaja" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "conceptobaja" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- tipodocumento +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "tipodocumento" CASCADE; + +DROP SEQUENCE IF EXISTS "tipodocumento_seq"; + +CREATE SEQUENCE "tipodocumento_seq"; + + +CREATE TABLE "tipodocumento" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + "orden" INTEGER default 0, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "tipodocumento" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- tipoiva +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "tipoiva" CASCADE; + +DROP SEQUENCE IF EXISTS "tipoiva_seq"; + +CREATE SEQUENCE "tipoiva_seq"; + + +CREATE TABLE "tipoiva" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + "orden" INTEGER default 0, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "tipoiva" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- pais +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "pais" CASCADE; + +DROP SEQUENCE IF EXISTS "pais_seq"; + +CREATE SEQUENCE "pais_seq"; + + +CREATE TABLE "pais" +( + "id" INTEGER NOT NULL, + "nombre_largo" VARCHAR(128) NOT NULL, + "nombre_corto" VARCHAR(32) NOT NULL, + "orden" INTEGER default 0, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "pais" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- tipoespacio +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "tipoespacio" CASCADE; + +DROP SEQUENCE IF EXISTS "tipoespacio_seq"; + +CREATE SEQUENCE "tipoespacio_seq"; + + +CREATE TABLE "tipoespacio" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "tipoespacio" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- provincia +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "provincia" CASCADE; + +DROP SEQUENCE IF EXISTS "provincia_seq"; + +CREATE SEQUENCE "provincia_seq"; + + +CREATE TABLE "provincia" +( + "id" INTEGER NOT NULL, + "nombre_corto" VARCHAR(32) NOT NULL, + "nombre_largo" VARCHAR(128) NOT NULL, + "fk_pais_id" INTEGER default 0 NOT NULL, + "orden" INTEGER default 0, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "provincia" IS ''; + + +SET search_path TO public; +ALTER TABLE "provincia" ADD CONSTRAINT "provincia_FK_1" FOREIGN KEY ("fk_pais_id") REFERENCES "pais" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- tipolocacion +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "tipolocacion" CASCADE; + +DROP SEQUENCE IF EXISTS "tipolocacion_seq"; + +CREATE SEQUENCE "tipolocacion_seq"; + + +CREATE TABLE "tipolocacion" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "tipolocacion" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- locacion +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "locacion" CASCADE; + +DROP SEQUENCE IF EXISTS "locacion_seq"; + +CREATE SEQUENCE "locacion_seq"; + + +CREATE TABLE "locacion" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + "direccion" VARCHAR(128) NOT NULL, + "ciudad" VARCHAR(128) NOT NULL, + "codigo_postal" VARCHAR(20), + "fk_provincia_id" INTEGER default 0 NOT NULL, + "fk_tipolocacion_id" INTEGER default 0 NOT NULL, + "telefono" VARCHAR(20), + "fax" VARCHAR(20), + "encargado" VARCHAR(128), + "encargado_telefono" VARCHAR(20), + "principal" BOOLEAN default 'f' NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "locacion" IS ''; + + +SET search_path TO public; +ALTER TABLE "locacion" ADD CONSTRAINT "locacion_FK_1" FOREIGN KEY ("fk_provincia_id") REFERENCES "provincia" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "locacion" ADD CONSTRAINT "locacion_FK_2" FOREIGN KEY ("fk_tipolocacion_id") REFERENCES "tipolocacion" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- modulo +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "modulo" CASCADE; + +DROP SEQUENCE IF EXISTS "modulo_seq"; + +CREATE SEQUENCE "modulo_seq"; + + +CREATE TABLE "modulo" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "titulo" VARCHAR(128), + "descripcion" VARCHAR(255), + "activo" BOOLEAN default 't' NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "modulo" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- espacio +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "espacio" CASCADE; + +DROP SEQUENCE IF EXISTS "espacio_seq"; + +CREATE SEQUENCE "espacio_seq"; + + +CREATE TABLE "espacio" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "m2" FLOAT, + "capacidad" VARCHAR(255), + "descripcion" VARCHAR(255), + "estado" VARCHAR(255), + "fk_tipoespacio_id" INTEGER, + "fk_locacion_id" INTEGER default 0 NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "espacio" IS ''; + + +SET search_path TO public; +ALTER TABLE "espacio" ADD CONSTRAINT "espacio_FK_1" FOREIGN KEY ("fk_tipoespacio_id") REFERENCES "tipoespacio" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "espacio" ADD CONSTRAINT "espacio_FK_2" FOREIGN KEY ("fk_locacion_id") REFERENCES "locacion" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- distritoescolar +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "distritoescolar" CASCADE; + +DROP SEQUENCE IF EXISTS "distritoescolar_seq"; + +CREATE SEQUENCE "distritoescolar_seq"; + + +CREATE TABLE "distritoescolar" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "direccion" VARCHAR(128), + "telefono" VARCHAR(20), + "ciudad" VARCHAR(128), + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "distritoescolar" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- niveltipo +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "niveltipo" CASCADE; + +DROP SEQUENCE IF EXISTS "niveltipo_seq"; + +CREATE SEQUENCE "niveltipo_seq"; + + +CREATE TABLE "niveltipo" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "niveltipo" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- organizacion +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "organizacion" CASCADE; + +DROP SEQUENCE IF EXISTS "organizacion_seq"; + +CREATE SEQUENCE "organizacion_seq"; + + +CREATE TABLE "organizacion" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + "razon_social" VARCHAR(128) NOT NULL, + "cuit" VARCHAR(20) NOT NULL, + "direccion" VARCHAR(128) NOT NULL, + "ciudad" VARCHAR(128) NOT NULL, + "codigo_postal" VARCHAR(20) NOT NULL, + "telefono" VARCHAR(20), + "fk_provincia_id" INTEGER default 0 NOT NULL, + "fk_tipoiva_id" INTEGER default 0 NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "organizacion" IS ''; + + +SET search_path TO public; +ALTER TABLE "organizacion" ADD CONSTRAINT "organizacion_FK_1" FOREIGN KEY ("fk_provincia_id") REFERENCES "provincia" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "organizacion" ADD CONSTRAINT "organizacion_FK_2" FOREIGN KEY ("fk_tipoiva_id") REFERENCES "tipoiva" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- establecimiento +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "establecimiento" CASCADE; + +DROP SEQUENCE IF EXISTS "establecimiento_seq"; + +CREATE SEQUENCE "establecimiento_seq"; + + +CREATE TABLE "establecimiento" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + "fk_distritoescolar_id" INTEGER default 0 NOT NULL, + "fk_organizacion_id" INTEGER default 0 NOT NULL, + "fk_niveltipo_id" INTEGER default 0 NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "establecimiento" IS ''; + + +SET search_path TO public; +ALTER TABLE "establecimiento" ADD CONSTRAINT "establecimiento_FK_1" FOREIGN KEY ("fk_distritoescolar_id") REFERENCES "distritoescolar" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "establecimiento" ADD CONSTRAINT "establecimiento_FK_2" FOREIGN KEY ("fk_organizacion_id") REFERENCES "organizacion" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "establecimiento" ADD CONSTRAINT "establecimiento_FK_3" FOREIGN KEY ("fk_niveltipo_id") REFERENCES "niveltipo" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- permiso +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "permiso" CASCADE; + +DROP SEQUENCE IF EXISTS "permiso_seq"; + +CREATE SEQUENCE "permiso_seq"; + + +CREATE TABLE "permiso" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + "fk_modulo_id" INTEGER default 0 NOT NULL, + "credencial" VARCHAR(32), + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "permiso" IS ''; + + +SET search_path TO public; +ALTER TABLE "permiso" ADD CONSTRAINT "permiso_FK_1" FOREIGN KEY ("fk_modulo_id") REFERENCES "modulo" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- preferencia +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "preferencia" CASCADE; + +DROP SEQUENCE IF EXISTS "preferencia_seq"; + +CREATE SEQUENCE "preferencia_seq"; + + +CREATE TABLE "preferencia" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "valor_por_defecto" VARCHAR(128), + "activo" BOOLEAN default 't' NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "preferencia" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- rol +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "rol" CASCADE; + +DROP SEQUENCE IF EXISTS "rol_seq"; + +CREATE SEQUENCE "rol_seq"; + + +CREATE TABLE "rol" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + "activo" BOOLEAN default 't' NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "rol" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- usuario +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "usuario" CASCADE; + +DROP SEQUENCE IF EXISTS "usuario_seq"; + +CREATE SEQUENCE "usuario_seq"; + + +CREATE TABLE "usuario" +( + "id" INTEGER NOT NULL, + "usuario" VARCHAR(32) NOT NULL, + "clave" VARCHAR(48) NOT NULL, + "correo_publico" BOOLEAN default 't', + "activo" BOOLEAN default 't' NOT NULL, + "fecha_creado" TIMESTAMP NOT NULL, + "fecha_actualizado" TIMESTAMP NOT NULL, + "seguridad_pregunta" VARCHAR(128), + "seguridad_respuesta" VARCHAR(128), + "email" VARCHAR(128), + "fk_establecimiento_id" INTEGER default 0 NOT NULL, + "borrado" BOOLEAN default 'f' NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "usuario" IS ''; + + +SET search_path TO public; +ALTER TABLE "usuario" ADD CONSTRAINT "usuario_FK_1" FOREIGN KEY ("fk_establecimiento_id") REFERENCES "establecimiento" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- rel_establecimiento_locacion +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "rel_establecimiento_locacion" CASCADE; + +DROP SEQUENCE IF EXISTS "rel_establecimiento_locacion_seq"; + +CREATE SEQUENCE "rel_establecimiento_locacion_seq"; + + +CREATE TABLE "rel_establecimiento_locacion" +( + "id" INTEGER NOT NULL, + "fk_establecimiento_id" INTEGER default 0 NOT NULL, + "fk_locacion_id" INTEGER default 0 NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "rel_establecimiento_locacion" IS ''; + + +SET search_path TO public; +ALTER TABLE "rel_establecimiento_locacion" ADD CONSTRAINT "rel_establecimiento_locacio_FK_1" FOREIGN KEY ("fk_establecimiento_id") REFERENCES "establecimiento" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "rel_establecimiento_locacion" ADD CONSTRAINT "rel_establecimiento_locacio_FK_2" FOREIGN KEY ("fk_locacion_id") REFERENCES "locacion" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- rel_rol_permiso +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "rel_rol_permiso" CASCADE; + +DROP SEQUENCE IF EXISTS "rel_rol_permiso_seq"; + +CREATE SEQUENCE "rel_rol_permiso_seq"; + + +CREATE TABLE "rel_rol_permiso" +( + "id" INTEGER NOT NULL, + "fk_rol_id" INTEGER default 0 NOT NULL, + "fk_permiso_id" INTEGER default 0 NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "rel_rol_permiso" IS ''; + + +SET search_path TO public; +ALTER TABLE "rel_rol_permiso" ADD CONSTRAINT "rel_rol_permiso_FK_1" FOREIGN KEY ("fk_rol_id") REFERENCES "rol" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "rel_rol_permiso" ADD CONSTRAINT "rel_rol_permiso_FK_2" FOREIGN KEY ("fk_permiso_id") REFERENCES "permiso" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- rel_usuario_permiso +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "rel_usuario_permiso" CASCADE; + +DROP SEQUENCE IF EXISTS "rel_usuario_permiso_seq"; + +CREATE SEQUENCE "rel_usuario_permiso_seq"; + + +CREATE TABLE "rel_usuario_permiso" +( + "id" INTEGER NOT NULL, + "fk_usuario_id" INTEGER default 0 NOT NULL, + "fk_permiso_id" INTEGER default 0 NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "rel_usuario_permiso" IS ''; + + +SET search_path TO public; +ALTER TABLE "rel_usuario_permiso" ADD CONSTRAINT "rel_usuario_permiso_FK_1" FOREIGN KEY ("fk_usuario_id") REFERENCES "usuario" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "rel_usuario_permiso" ADD CONSTRAINT "rel_usuario_permiso_FK_2" FOREIGN KEY ("fk_permiso_id") REFERENCES "permiso" ("id") ON DELETE CASCADE INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- rel_usuario_preferencia +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "rel_usuario_preferencia" CASCADE; + +DROP SEQUENCE IF EXISTS "rel_usuario_preferencia_seq"; + +CREATE SEQUENCE "rel_usuario_preferencia_seq"; + + +CREATE TABLE "rel_usuario_preferencia" +( + "id" INTEGER NOT NULL, + "fk_usuario_id" INTEGER default 0 NOT NULL, + "fk_preferencia_id" INTEGER default 0 NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "rel_usuario_preferencia" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- orientacion +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "orientacion" CASCADE; + +DROP SEQUENCE IF EXISTS "orientacion_seq"; + +CREATE SEQUENCE "orientacion_seq"; + + +CREATE TABLE "orientacion" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "orientacion" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- cuenta +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "cuenta" CASCADE; + +DROP SEQUENCE IF EXISTS "cuenta_seq"; + +CREATE SEQUENCE "cuenta_seq"; + + +CREATE TABLE "cuenta" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "razon_social" VARCHAR(128) NOT NULL, + "cuit" VARCHAR(20) NOT NULL, + "direccion" VARCHAR(128) NOT NULL, + "ciudad" VARCHAR(128) NOT NULL, + "codigo_postal" VARCHAR(20) NOT NULL, + "telefono" VARCHAR(20), + "fk_provincia_id" INTEGER, + "fk_tipoiva_id" INTEGER default 0 NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "cuenta" IS ''; + + +SET search_path TO public; +ALTER TABLE "cuenta" ADD CONSTRAINT "cuenta_FK_1" FOREIGN KEY ("fk_provincia_id") REFERENCES "provincia" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "cuenta" ADD CONSTRAINT "cuenta_FK_2" FOREIGN KEY ("fk_tipoiva_id") REFERENCES "tipoiva" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- alumno +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "alumno" CASCADE; + +DROP SEQUENCE IF EXISTS "alumno_seq"; + +CREATE SEQUENCE "alumno_seq"; + + +CREATE TABLE "alumno" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "apellido" VARCHAR(128) NOT NULL, + "fecha_nacimiento" TIMESTAMP NOT NULL, + "direccion" VARCHAR(128) NOT NULL, + "ciudad" VARCHAR(128) NOT NULL, + "codigo_postal" VARCHAR(20) NOT NULL, + "fk_provincia_id" INTEGER default 0 NOT NULL, + "telefono" VARCHAR(20), + "lugar_nacimiento" VARCHAR(128), + "fk_tipodocumento_id" INTEGER default 0 NOT NULL, + "nro_documento" VARCHAR(16) NOT NULL, + "sexo" CHAR(1) NOT NULL, + "email" VARCHAR(128) NOT NULL, + "distancia_escuela" INTEGER default 0, + "hermanos_escuela" BOOLEAN default 'f' NOT NULL, + "hijo_maestro_escuela" BOOLEAN default 'f' NOT NULL, + "fk_establecimiento_id" INTEGER default 0 NOT NULL, + "fk_cuenta_id" INTEGER default 0 NOT NULL, + "certificado_medico" BOOLEAN default 'f' NOT NULL, + "activo" BOOLEAN default 't' NOT NULL, + "fk_conceptobaja_id" INTEGER, + "fk_pais_id" INTEGER default 0 NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "alumno" IS ''; + + +SET search_path TO public; +ALTER TABLE "alumno" ADD CONSTRAINT "alumno_FK_1" FOREIGN KEY ("fk_provincia_id") REFERENCES "provincia" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "alumno" ADD CONSTRAINT "alumno_FK_2" FOREIGN KEY ("fk_tipodocumento_id") REFERENCES "tipodocumento" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "alumno" ADD CONSTRAINT "alumno_FK_3" FOREIGN KEY ("fk_establecimiento_id") REFERENCES "establecimiento" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "alumno" ADD CONSTRAINT "alumno_FK_4" FOREIGN KEY ("fk_cuenta_id") REFERENCES "cuenta" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "alumno" ADD CONSTRAINT "alumno_FK_5" FOREIGN KEY ("fk_conceptobaja_id") REFERENCES "conceptobaja" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "alumno" ADD CONSTRAINT "alumno_FK_6" FOREIGN KEY ("fk_pais_id") REFERENCES "pais" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- rol_responsable +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "rol_responsable" CASCADE; + +DROP SEQUENCE IF EXISTS "rol_responsable_seq"; + +CREATE SEQUENCE "rol_responsable_seq"; + + +CREATE TABLE "rol_responsable" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + "activo" BOOLEAN default 't' NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "rol_responsable" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- responsable +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "responsable" CASCADE; + +DROP SEQUENCE IF EXISTS "responsable_seq"; + +CREATE SEQUENCE "responsable_seq"; + + +CREATE TABLE "responsable" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "apellido" VARCHAR(128) NOT NULL, + "direccion" VARCHAR(128), + "ciudad" VARCHAR(128), + "codigo_postal" VARCHAR(20), + "fk_provincia_id" INTEGER default 0 NOT NULL, + "telefono" VARCHAR(20), + "telefono_movil" VARCHAR(20), + "nro_documento" VARCHAR(20) NOT NULL, + "fk_tipodocumento_id" INTEGER default 0 NOT NULL, + "sexo" CHAR(1) NOT NULL, + "email" VARCHAR(128), + "observacion" VARCHAR(255), + "autorizacion_retiro" BOOLEAN default 'f' NOT NULL, + "fk_cuenta_id" INTEGER default 0 NOT NULL, + "fk_rolresponsable_id" INTEGER default 1 NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "responsable" IS ''; + + +SET search_path TO public; +ALTER TABLE "responsable" ADD CONSTRAINT "responsable_FK_1" FOREIGN KEY ("fk_provincia_id") REFERENCES "provincia" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "responsable" ADD CONSTRAINT "responsable_FK_2" FOREIGN KEY ("fk_tipodocumento_id") REFERENCES "tipodocumento" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "responsable" ADD CONSTRAINT "responsable_FK_3" FOREIGN KEY ("fk_cuenta_id") REFERENCES "cuenta" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "responsable" ADD CONSTRAINT "responsable_FK_4" FOREIGN KEY ("fk_rolresponsable_id") REFERENCES "rol_responsable" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- ciclolectivo +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "ciclolectivo" CASCADE; + +DROP SEQUENCE IF EXISTS "ciclolectivo_seq"; + +CREATE SEQUENCE "ciclolectivo_seq"; + + +CREATE TABLE "ciclolectivo" +( + "id" INTEGER NOT NULL, + "fk_establecimiento_id" INTEGER NOT NULL, + "fecha_inicio" TIMESTAMP NOT NULL, + "fecha_fin" TIMESTAMP NOT NULL, + "descripcion" VARCHAR(255) NOT NULL, + "actual" BOOLEAN default 'f' NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "ciclolectivo" IS ''; + + +SET search_path TO public; +ALTER TABLE "ciclolectivo" ADD CONSTRAINT "ciclolectivo_FK_1" FOREIGN KEY ("fk_establecimiento_id") REFERENCES "establecimiento" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- turno +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "turno" CASCADE; + +DROP SEQUENCE IF EXISTS "turno_seq"; + +CREATE SEQUENCE "turno_seq"; + + +CREATE TABLE "turno" +( + "id" INTEGER NOT NULL, + "fk_ciclolectivo_id" INTEGER NOT NULL, + "hora_inicio" TIME NOT NULL, + "hora_fin" TIME NOT NULL, + "descripcion" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "turno" IS ''; + + +SET search_path TO public; +ALTER TABLE "turno" ADD CONSTRAINT "turno_FK_1" FOREIGN KEY ("fk_ciclolectivo_id") REFERENCES "ciclolectivo" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- periodo +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "periodo" CASCADE; + +DROP SEQUENCE IF EXISTS "periodo_seq"; + +CREATE SEQUENCE "periodo_seq"; + + +CREATE TABLE "periodo" +( + "id" INTEGER NOT NULL, + "fk_ciclolectivo_id" INTEGER NOT NULL, + "fecha_inicio" TIMESTAMP NOT NULL, + "fecha_fin" TIMESTAMP NOT NULL, + "descripcion" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "periodo" IS ''; + + +SET search_path TO public; +ALTER TABLE "periodo" ADD CONSTRAINT "periodo_FK_1" FOREIGN KEY ("fk_ciclolectivo_id") REFERENCES "ciclolectivo" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- tipodocente +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "tipodocente" CASCADE; + +DROP SEQUENCE IF EXISTS "tipodocente_seq"; + +CREATE SEQUENCE "tipodocente_seq"; + + +CREATE TABLE "tipodocente" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "tipodocente" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- cargobaja +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "cargobaja" CASCADE; + +DROP SEQUENCE IF EXISTS "cargobaja_seq"; + +CREATE SEQUENCE "cargobaja_seq"; + + +CREATE TABLE "cargobaja" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "cargobaja" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- calendariovacunacion +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "calendariovacunacion" CASCADE; + +DROP SEQUENCE IF EXISTS "calendariovacunacion_seq"; + +CREATE SEQUENCE "calendariovacunacion_seq"; + + +CREATE TABLE "calendariovacunacion" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + "periodo" VARCHAR(128), + "observacion" VARCHAR(255), + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "calendariovacunacion" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- rel_calendariovacunacion_alumno +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "rel_calendariovacunacion_alumno" CASCADE; + +DROP SEQUENCE IF EXISTS "rel_calendariovacunacion_a_seq_1"; + +CREATE SEQUENCE "rel_calendariovacunacion_a_seq_1"; + + +CREATE TABLE "rel_calendariovacunacion_alumno" +( + "id" INTEGER NOT NULL, + "fk_alumno_id" INTEGER NOT NULL, + "fk_calendariovacunacion_id" INTEGER NOT NULL, + "observacion" VARCHAR(255), + "comprobante" BOOLEAN default 'f' NOT NULL, + "fecha" TIMESTAMP, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "rel_calendariovacunacion_alumno" IS ''; + + +SET search_path TO public; +ALTER TABLE "rel_calendariovacunacion_alumno" ADD CONSTRAINT "rel_calendariovacunacion_al_FK_1" FOREIGN KEY ("fk_alumno_id") REFERENCES "alumno" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "rel_calendariovacunacion_alumno" ADD CONSTRAINT "rel_calendariovacunacion_al_FK_2" FOREIGN KEY ("fk_calendariovacunacion_id") REFERENCES "calendariovacunacion" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- legajocategoria +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "legajocategoria" CASCADE; + +DROP SEQUENCE IF EXISTS "legajocategoria_seq"; + +CREATE SEQUENCE "legajocategoria_seq"; + + +CREATE TABLE "legajocategoria" +( + "id" INTEGER NOT NULL, + "descripcion" VARCHAR(255) NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "legajocategoria" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- legajopedagogico +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "legajopedagogico" CASCADE; + +DROP SEQUENCE IF EXISTS "legajopedagogico_seq"; + +CREATE SEQUENCE "legajopedagogico_seq"; + + +CREATE TABLE "legajopedagogico" +( + "id" INTEGER NOT NULL, + "fk_alumno_id" INTEGER NOT NULL, + "titulo" VARCHAR(255) NOT NULL, + "resumen" BYTEA NOT NULL, + "texto" BYTEA NOT NULL, + "fecha" TIMESTAMP NOT NULL, + "fk_usuario_id" INTEGER NOT NULL, + "fk_legajocategoria_id" INTEGER NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "legajopedagogico" IS ''; + + +SET search_path TO public; +ALTER TABLE "legajopedagogico" ADD CONSTRAINT "legajopedagogico_FK_1" FOREIGN KEY ("fk_alumno_id") REFERENCES "alumno" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "legajopedagogico" ADD CONSTRAINT "legajopedagogico_FK_2" FOREIGN KEY ("fk_usuario_id") REFERENCES "usuario" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "legajopedagogico" ADD CONSTRAINT "legajopedagogico_FK_3" FOREIGN KEY ("fk_legajocategoria_id") REFERENCES "legajocategoria" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- adjunto +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "adjunto" CASCADE; + +DROP SEQUENCE IF EXISTS "adjunto_seq"; + +CREATE SEQUENCE "adjunto_seq"; + + +CREATE TABLE "adjunto" +( + "id" INTEGER NOT NULL, + "descripcion" VARCHAR(255), + "titulo" VARCHAR(255), + "nombre_archivo" VARCHAR(255) NOT NULL, + "tipo_archivo" VARCHAR(64) NOT NULL, + "ruta" VARCHAR(255) NOT NULL, + "fecha" TIMESTAMP NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "adjunto" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- legajoadjunto +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "legajoadjunto" CASCADE; + +DROP SEQUENCE IF EXISTS "legajoadjunto_seq"; + +CREATE SEQUENCE "legajoadjunto_seq"; + + +CREATE TABLE "legajoadjunto" +( + "fk_legajopedagogico_id" INTEGER NOT NULL, + "fk_adjunto_id" INTEGER NOT NULL, + "id" INTEGER NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "legajoadjunto" IS ''; + + +SET search_path TO public; +ALTER TABLE "legajoadjunto" ADD CONSTRAINT "legajoadjunto_FK_1" FOREIGN KEY ("fk_legajopedagogico_id") REFERENCES "legajopedagogico" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "legajoadjunto" ADD CONSTRAINT "legajoadjunto_FK_2" FOREIGN KEY ("fk_adjunto_id") REFERENCES "adjunto" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- tipoasistencia +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "tipoasistencia" CASCADE; + +DROP SEQUENCE IF EXISTS "tipoasistencia_seq"; + +CREATE SEQUENCE "tipoasistencia_seq"; + + +CREATE TABLE "tipoasistencia" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(10) NOT NULL, + "descripcion" VARCHAR(255), + "valor" DECIMAL(4,2) default 1 NOT NULL, + "grupo" VARCHAR(30), + "defecto" BOOLEAN default 'f' NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "tipoasistencia" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- asistencia +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "asistencia" CASCADE; + +DROP SEQUENCE IF EXISTS "asistencia_seq"; + +CREATE SEQUENCE "asistencia_seq"; + + +CREATE TABLE "asistencia" +( + "id" INTEGER NOT NULL, + "fk_alumno_id" INTEGER NOT NULL, + "fk_tipoasistencia_id" INTEGER NOT NULL, + "fecha" TIMESTAMP NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "asistencia" IS ''; + + +SET search_path TO public; +ALTER TABLE "asistencia" ADD CONSTRAINT "asistencia_FK_1" FOREIGN KEY ("fk_alumno_id") REFERENCES "alumno" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "asistencia" ADD CONSTRAINT "asistencia_FK_2" FOREIGN KEY ("fk_tipoasistencia_id") REFERENCES "tipoasistencia" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- concepto +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "concepto" CASCADE; + +DROP SEQUENCE IF EXISTS "concepto_seq"; + +CREATE SEQUENCE "concepto_seq"; + + +CREATE TABLE "concepto" +( + "id" INTEGER NOT NULL, + "fk_establecimiento_id" INTEGER default 0 NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "concepto" IS ''; + + +SET search_path TO public; +ALTER TABLE "concepto" ADD CONSTRAINT "concepto_FK_1" FOREIGN KEY ("fk_establecimiento_id") REFERENCES "establecimiento" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- escalanota +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "escalanota" CASCADE; + +DROP SEQUENCE IF EXISTS "escalanota_seq"; + +CREATE SEQUENCE "escalanota_seq"; + + +CREATE TABLE "escalanota" +( + "id" INTEGER NOT NULL, + "fk_establecimiento_id" INTEGER default 0 NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + "orden" INTEGER NOT NULL, + "aprobado" BOOLEAN default 'f' NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "escalanota" IS ''; + + +SET search_path TO public; +ALTER TABLE "escalanota" ADD CONSTRAINT "escalanota_FK_1" FOREIGN KEY ("fk_establecimiento_id") REFERENCES "establecimiento" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- boletin_conceptual +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "boletin_conceptual" CASCADE; + +DROP SEQUENCE IF EXISTS "boletin_conceptual_seq"; + +CREATE SEQUENCE "boletin_conceptual_seq"; + + +CREATE TABLE "boletin_conceptual" +( + "id" INTEGER NOT NULL, + "fk_escalanota_id" INTEGER, + "fk_alumno_id" INTEGER default 0 NOT NULL, + "fk_concepto_id" INTEGER default 0 NOT NULL, + "fk_periodo_id" INTEGER default 0 NOT NULL, + "observacion" BYTEA NOT NULL, + "fecha" TIMESTAMP NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "boletin_conceptual" IS ''; + + +SET search_path TO public; +ALTER TABLE "boletin_conceptual" ADD CONSTRAINT "boletin_conceptual_FK_1" FOREIGN KEY ("fk_escalanota_id") REFERENCES "escalanota" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "boletin_conceptual" ADD CONSTRAINT "boletin_conceptual_FK_2" FOREIGN KEY ("fk_alumno_id") REFERENCES "alumno" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "boletin_conceptual" ADD CONSTRAINT "boletin_conceptual_FK_3" FOREIGN KEY ("fk_concepto_id") REFERENCES "concepto" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "boletin_conceptual" ADD CONSTRAINT "boletin_conceptual_FK_4" FOREIGN KEY ("fk_periodo_id") REFERENCES "periodo" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- actividad +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "actividad" CASCADE; + +DROP SEQUENCE IF EXISTS "actividad_seq"; + +CREATE SEQUENCE "actividad_seq"; + + +CREATE TABLE "actividad" +( + "id" INTEGER NOT NULL, + "fk_establecimiento_id" INTEGER default 0 NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "actividad" IS ''; + + +SET search_path TO public; +ALTER TABLE "actividad" ADD CONSTRAINT "actividad_FK_1" FOREIGN KEY ("fk_establecimiento_id") REFERENCES "establecimiento" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- boletin_actividades +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "boletin_actividades" CASCADE; + +DROP SEQUENCE IF EXISTS "boletin_actividades_seq"; + +CREATE SEQUENCE "boletin_actividades_seq"; + + +CREATE TABLE "boletin_actividades" +( + "id" INTEGER NOT NULL, + "fk_escalanota_id" INTEGER, + "fk_alumno_id" INTEGER default 0 NOT NULL, + "fk_actividad_id" INTEGER default 0 NOT NULL, + "fk_periodo_id" INTEGER default 0 NOT NULL, + "observacion" BYTEA NOT NULL, + "fecha" TIMESTAMP NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "boletin_actividades" IS ''; + + +SET search_path TO public; +ALTER TABLE "boletin_actividades" ADD CONSTRAINT "boletin_actividades_FK_1" FOREIGN KEY ("fk_escalanota_id") REFERENCES "escalanota" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "boletin_actividades" ADD CONSTRAINT "boletin_actividades_FK_2" FOREIGN KEY ("fk_alumno_id") REFERENCES "alumno" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "boletin_actividades" ADD CONSTRAINT "boletin_actividades_FK_3" FOREIGN KEY ("fk_actividad_id") REFERENCES "actividad" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "boletin_actividades" ADD CONSTRAINT "boletin_actividades_FK_4" FOREIGN KEY ("fk_periodo_id") REFERENCES "periodo" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- examen +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "examen" CASCADE; + +DROP SEQUENCE IF EXISTS "examen_seq"; + +CREATE SEQUENCE "examen_seq"; + + +CREATE TABLE "examen" +( + "id" INTEGER NOT NULL, + "fk_escalanota_id" INTEGER default 0 NOT NULL, + "fk_alumno_id" INTEGER default 0 NOT NULL, + "fk_actividad_id" INTEGER default 0 NOT NULL, + "fk_periodo_id" INTEGER default 0 NOT NULL, + "nombre" VARCHAR(255) NOT NULL, + "observacion" BYTEA NOT NULL, + "fecha" TIMESTAMP NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "examen" IS ''; + + +SET search_path TO public; +ALTER TABLE "examen" ADD CONSTRAINT "examen_FK_1" FOREIGN KEY ("fk_escalanota_id") REFERENCES "escalanota" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "examen" ADD CONSTRAINT "examen_FK_2" FOREIGN KEY ("fk_alumno_id") REFERENCES "alumno" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "examen" ADD CONSTRAINT "examen_FK_3" FOREIGN KEY ("fk_actividad_id") REFERENCES "actividad" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "examen" ADD CONSTRAINT "examen_FK_4" FOREIGN KEY ("fk_periodo_id") REFERENCES "periodo" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- anio +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "anio" CASCADE; + +DROP SEQUENCE IF EXISTS "anio_seq"; + +CREATE SEQUENCE "anio_seq"; + + +CREATE TABLE "anio" +( + "id" INTEGER NOT NULL, + "fk_establecimiento_id" INTEGER default 0 NOT NULL, + "descripcion" VARCHAR(255) NOT NULL, + "orden" INTEGER default 0, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "anio" IS ''; + + +SET search_path TO public; +ALTER TABLE "anio" ADD CONSTRAINT "anio_FK_1" FOREIGN KEY ("fk_establecimiento_id") REFERENCES "establecimiento" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- division +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "division" CASCADE; + +DROP SEQUENCE IF EXISTS "division_seq"; + +CREATE SEQUENCE "division_seq"; + + +CREATE TABLE "division" +( + "id" INTEGER NOT NULL, + "fk_anio_id" INTEGER default 0 NOT NULL, + "descripcion" VARCHAR(255) NOT NULL, + "fk_turno_id" INTEGER default 0 NOT NULL, + "fk_orientacion_id" INTEGER, + "orden" INTEGER default 0, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "division" IS ''; + + +SET search_path TO public; +ALTER TABLE "division" ADD CONSTRAINT "division_FK_1" FOREIGN KEY ("fk_anio_id") REFERENCES "anio" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "division" ADD CONSTRAINT "division_FK_2" FOREIGN KEY ("fk_turno_id") REFERENCES "turno" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "division" ADD CONSTRAINT "division_FK_3" FOREIGN KEY ("fk_orientacion_id") REFERENCES "orientacion" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- repeticion +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "repeticion" CASCADE; + +DROP SEQUENCE IF EXISTS "repeticion_seq"; + +CREATE SEQUENCE "repeticion_seq"; + + +CREATE TABLE "repeticion" +( + "id" INTEGER NOT NULL, + "descripcion" VARCHAR(255) NOT NULL, + "orden" INTEGER default 0 NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "repeticion" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- rel_anio_actividad +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "rel_anio_actividad" CASCADE; + +DROP SEQUENCE IF EXISTS "rel_anio_actividad_seq"; + +CREATE SEQUENCE "rel_anio_actividad_seq"; + + +CREATE TABLE "rel_anio_actividad" +( + "id" INTEGER NOT NULL, + "fk_anio_id" INTEGER default 0 NOT NULL, + "fk_actividad_id" INTEGER default 0 NOT NULL, + "fk_orientacion_id" INTEGER, + "horas" DECIMAL(10,2) default 0 NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "rel_anio_actividad" IS ''; + + +SET search_path TO public; +ALTER TABLE "rel_anio_actividad" ADD CONSTRAINT "rel_anio_actividad_FK_1" FOREIGN KEY ("fk_anio_id") REFERENCES "anio" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "rel_anio_actividad" ADD CONSTRAINT "rel_anio_actividad_FK_2" FOREIGN KEY ("fk_actividad_id") REFERENCES "actividad" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "rel_anio_actividad" ADD CONSTRAINT "rel_anio_actividad_FK_3" FOREIGN KEY ("fk_orientacion_id") REFERENCES "orientacion" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- rel_alumno_division +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "rel_alumno_division" CASCADE; + +DROP SEQUENCE IF EXISTS "rel_alumno_division_seq"; + +CREATE SEQUENCE "rel_alumno_division_seq"; + + +CREATE TABLE "rel_alumno_division" +( + "id" INTEGER NOT NULL, + "fk_division_id" INTEGER default 0 NOT NULL, + "fk_alumno_id" INTEGER default 0 NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "rel_alumno_division" IS ''; + + +SET search_path TO public; +ALTER TABLE "rel_alumno_division" ADD CONSTRAINT "rel_alumno_division_FK_1" FOREIGN KEY ("fk_division_id") REFERENCES "division" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "rel_alumno_division" ADD CONSTRAINT "rel_alumno_division_FK_2" FOREIGN KEY ("fk_alumno_id") REFERENCES "alumno" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- docente +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "docente" CASCADE; + +DROP SEQUENCE IF EXISTS "docente_seq"; + +CREATE SEQUENCE "docente_seq"; + + +CREATE TABLE "docente" +( + "id" INTEGER NOT NULL, + "apellido" VARCHAR(128) NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "sexo" CHAR(1) NOT NULL, + "fecha_nacimiento" TIMESTAMP NOT NULL, + "fk_tipodocumento_id" INTEGER default 0 NOT NULL, + "nro_documento" VARCHAR(16) NOT NULL, + "lugar_nacimiento" VARCHAR(128), + "direccion" VARCHAR(128), + "ciudad" VARCHAR(128), + "codigo_postal" VARCHAR(20), + "email" VARCHAR(255), + "telefono" VARCHAR(20), + "telefono_movil" VARCHAR(20), + "titulo" VARCHAR(128) NOT NULL, + "libreta_sanitaria" BOOLEAN default 'f', + "psicofisico" BOOLEAN default 'f', + "activo" BOOLEAN default 't', + "fk_provincia_id" INTEGER default 0 NOT NULL, + "fk_pais_id" INTEGER default 0 NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "docente" IS ''; + + +SET search_path TO public; +ALTER TABLE "docente" ADD CONSTRAINT "docente_FK_1" FOREIGN KEY ("fk_tipodocumento_id") REFERENCES "tipodocumento" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "docente" ADD CONSTRAINT "docente_FK_2" FOREIGN KEY ("fk_provincia_id") REFERENCES "provincia" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "docente" ADD CONSTRAINT "docente_FK_3" FOREIGN KEY ("fk_pais_id") REFERENCES "pais" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- horarioescolartipo +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "horarioescolartipo" CASCADE; + +DROP SEQUENCE IF EXISTS "horarioescolartipo_seq"; + +CREATE SEQUENCE "horarioescolartipo_seq"; + + +CREATE TABLE "horarioescolartipo" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "horarioescolartipo" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- evento +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "evento" CASCADE; + +DROP SEQUENCE IF EXISTS "evento_seq"; + +CREATE SEQUENCE "evento_seq"; + + +CREATE TABLE "evento" +( + "id" INTEGER NOT NULL, + "titulo" VARCHAR(128) NOT NULL, + "fecha_inicio" TIMESTAMP NOT NULL, + "fecha_fin" TIMESTAMP NOT NULL, + "tipo" INTEGER default 0 NOT NULL, + "frecuencia" INTEGER default 0 NOT NULL, + "frecuencia_intervalo" INTEGER default 0 NOT NULL, + "recurrencia_fin" VARCHAR(16), + "recurrencia_dias" INTEGER default 0 NOT NULL, + "estado" INTEGER default 0 NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "evento" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- rel_division_actividad_docente +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "rel_division_actividad_docente" CASCADE; + +DROP SEQUENCE IF EXISTS "rel_division_actividad_doc_seq_2"; + +CREATE SEQUENCE "rel_division_actividad_doc_seq_2"; + + +CREATE TABLE "rel_division_actividad_docente" +( + "id" INTEGER NOT NULL, + "fk_division_id" INTEGER default 0, + "fk_actividad_id" INTEGER default 0 NOT NULL, + "fk_docente_id" INTEGER default 0, + "fk_evento_id" INTEGER default 0, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "rel_division_actividad_docente" IS ''; + + +SET search_path TO public; +ALTER TABLE "rel_division_actividad_docente" ADD CONSTRAINT "rel_division_actividad_doce_FK_1" FOREIGN KEY ("fk_division_id") REFERENCES "division" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "rel_division_actividad_docente" ADD CONSTRAINT "rel_division_actividad_doce_FK_2" FOREIGN KEY ("fk_actividad_id") REFERENCES "actividad" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "rel_division_actividad_docente" ADD CONSTRAINT "rel_division_actividad_doce_FK_3" FOREIGN KEY ("fk_docente_id") REFERENCES "docente" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "rel_division_actividad_docente" ADD CONSTRAINT "rel_division_actividad_doce_FK_4" FOREIGN KEY ("fk_evento_id") REFERENCES "evento" ("id") ON DELETE CASCADE INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- rel_docente_establecimiento +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "rel_docente_establecimiento" CASCADE; + +DROP SEQUENCE IF EXISTS "rel_docente_establecimiento_seq"; + +CREATE SEQUENCE "rel_docente_establecimiento_seq"; + + +CREATE TABLE "rel_docente_establecimiento" +( + "fk_establecimiento_id" INTEGER default 0 NOT NULL, + "fk_docente_id" INTEGER default 0 NOT NULL, + "id" INTEGER NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "rel_docente_establecimiento" IS ''; + + +SET search_path TO public; +ALTER TABLE "rel_docente_establecimiento" ADD CONSTRAINT "rel_docente_establecimiento_FK_1" FOREIGN KEY ("fk_establecimiento_id") REFERENCES "establecimiento" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "rel_docente_establecimiento" ADD CONSTRAINT "rel_docente_establecimiento_FK_2" FOREIGN KEY ("fk_docente_id") REFERENCES "docente" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- docente_horario +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "docente_horario" CASCADE; + + +CREATE TABLE "docente_horario" +( + "fk_docente_id" INTEGER NOT NULL, + "fk_evento_id" INTEGER NOT NULL, + PRIMARY KEY ("fk_docente_id","fk_evento_id") +); + +COMMENT ON TABLE "docente_horario" IS ''; + + +SET search_path TO public; +ALTER TABLE "docente_horario" ADD CONSTRAINT "docente_horario_FK_1" FOREIGN KEY ("fk_docente_id") REFERENCES "docente" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "docente_horario" ADD CONSTRAINT "docente_horario_FK_2" FOREIGN KEY ("fk_evento_id") REFERENCES "evento" ("id") ON DELETE CASCADE INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- feriado +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "feriado" CASCADE; + +DROP SEQUENCE IF EXISTS "feriado_seq"; + +CREATE SEQUENCE "feriado_seq"; + + +CREATE TABLE "feriado" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "fecha" TIMESTAMP NOT NULL, + "repeticion_anual" BOOLEAN default 'f', + "inamovible" BOOLEAN default 'f', + "fk_ciclolectivo_id" INTEGER default 0 NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "feriado" IS ''; + + +SET search_path TO public; +ALTER TABLE "feriado" ADD CONSTRAINT "feriado_FK_1" FOREIGN KEY ("fk_ciclolectivo_id") REFERENCES "ciclolectivo" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- horarioescolar +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "horarioescolar" CASCADE; + +DROP SEQUENCE IF EXISTS "horarioescolar_seq"; + +CREATE SEQUENCE "horarioescolar_seq"; + + +CREATE TABLE "horarioescolar" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + "fk_evento_id" INTEGER, + "fk_establecimiento_id" INTEGER default 0 NOT NULL, + "fk_turno_id" INTEGER default 0 NOT NULL, + "fk_horarioescolartipo_id" INTEGER default 0 NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "horarioescolar" IS ''; + + +SET search_path TO public; +ALTER TABLE "horarioescolar" ADD CONSTRAINT "horarioescolar_FK_1" FOREIGN KEY ("fk_evento_id") REFERENCES "evento" ("id") ON DELETE CASCADE INITIALLY DEFERRED ; + +ALTER TABLE "horarioescolar" ADD CONSTRAINT "horarioescolar_FK_2" FOREIGN KEY ("fk_establecimiento_id") REFERENCES "establecimiento" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "horarioescolar" ADD CONSTRAINT "horarioescolar_FK_3" FOREIGN KEY ("fk_turno_id") REFERENCES "turno" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "horarioescolar" ADD CONSTRAINT "horarioescolar_FK_4" FOREIGN KEY ("fk_horarioescolartipo_id") REFERENCES "horarioescolartipo" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- rel_rolresponsable_responsable +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "rel_rolresponsable_responsable" CASCADE; + +DROP SEQUENCE IF EXISTS "rel_rolresponsable_respons_seq_3"; + +CREATE SEQUENCE "rel_rolresponsable_respons_seq_3"; + + +CREATE TABLE "rel_rolresponsable_responsable" +( + "id" INTEGER NOT NULL, + "fk_rolresponsable_id" INTEGER default 0 NOT NULL, + "fk_responsable_id" INTEGER default 0 NOT NULL, + "fk_alumno_id" INTEGER default 0 NOT NULL, + "descripcion" VARCHAR(255), + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "rel_rolresponsable_responsable" IS ''; + + +SET search_path TO public; +ALTER TABLE "rel_rolresponsable_responsable" ADD CONSTRAINT "rel_rolresponsable_responsa_FK_1" FOREIGN KEY ("fk_rolresponsable_id") REFERENCES "rol_responsable" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "rel_rolresponsable_responsable" ADD CONSTRAINT "rel_rolresponsable_responsa_FK_2" FOREIGN KEY ("fk_responsable_id") REFERENCES "responsable" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "rel_rolresponsable_responsable" ADD CONSTRAINT "rel_rolresponsable_responsa_FK_3" FOREIGN KEY ("fk_alumno_id") REFERENCES "alumno" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- rel_anio_actividad_docente +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "rel_anio_actividad_docente" CASCADE; + + +CREATE TABLE "rel_anio_actividad_docente" +( + "fk_anio_actividad_id" INTEGER NOT NULL, + "fk_docente_id" INTEGER NOT NULL, + PRIMARY KEY ("fk_anio_actividad_id","fk_docente_id") +); + +COMMENT ON TABLE "rel_anio_actividad_docente" IS ''; + + +SET search_path TO public; +ALTER TABLE "rel_anio_actividad_docente" ADD CONSTRAINT "rel_anio_actividad_docente_FK_1" FOREIGN KEY ("fk_anio_actividad_id") REFERENCES "rel_anio_actividad" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "rel_anio_actividad_docente" ADD CONSTRAINT "rel_anio_actividad_docente_FK_2" FOREIGN KEY ("fk_docente_id") REFERENCES "docente" ("id") INITIALLY DEFERRED ; + +----------------------------------------------------------------------------- +-- tipoinforme +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "tipoinforme" CASCADE; + +DROP SEQUENCE IF EXISTS "tipoinforme_seq"; + +CREATE SEQUENCE "tipoinforme_seq"; + + +CREATE TABLE "tipoinforme" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "tipoinforme" IS ''; + + +SET search_path TO public; +----------------------------------------------------------------------------- +-- informe +----------------------------------------------------------------------------- + +DROP TABLE IF EXISTS "informe" CASCADE; + +DROP SEQUENCE IF EXISTS "informe_seq"; + +CREATE SEQUENCE "informe_seq"; + + +CREATE TABLE "informe" +( + "id" INTEGER NOT NULL, + "nombre" VARCHAR(128) NOT NULL, + "descripcion" VARCHAR(255), + "fk_adjunto_id" INTEGER NOT NULL, + "fk_tipoinforme_id" INTEGER NOT NULL, + "listado" BOOLEAN default 'f' NOT NULL, + "variables" VARCHAR(128), + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "informe" IS ''; + + +SET search_path TO public; +ALTER TABLE "informe" ADD CONSTRAINT "informe_FK_1" FOREIGN KEY ("fk_adjunto_id") REFERENCES "adjunto" ("id") INITIALLY DEFERRED ; + +ALTER TABLE "informe" ADD CONSTRAINT "informe_FK_2" FOREIGN KEY ("fk_tipoinforme_id") REFERENCES "tipoinforme" ("id") INITIALLY DEFERRED ; Deleted: prosistem/alba/trunk/alba/data/sql/lib.model.schema.sql =================================================================== --- prosistem/alba/trunk/alba/data/sql/lib.model.schema.sql 2008-02-07 01:17:13 UTC (rev 5447) +++ prosistem/alba/trunk/alba/data/sql/lib.model.schema.sql 2008-02-07 01:20:36 UTC (rev 5448) @@ -1,1485 +0,0 @@ - -# 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; - -#----------------------------------------------------------------------------- -#-- conceptobaja -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `conceptobaja`; - - -CREATE TABLE `conceptobaja` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- tipodocumento -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `tipodocumento`; - - -CREATE TABLE `tipodocumento` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - `orden` INTEGER default 0, - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- tipoiva -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `tipoiva`; - - -CREATE TABLE `tipoiva` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - `orden` INTEGER default 0, - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- pais -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `pais`; - - -CREATE TABLE `pais` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre_largo` VARCHAR(128) NOT NULL, - `nombre_corto` VARCHAR(32) NOT NULL, - `orden` INTEGER default 0, - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- tipoespacio -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `tipoespacio`; - - -CREATE TABLE `tipoespacio` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- provincia -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `provincia`; - - -CREATE TABLE `provincia` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre_corto` VARCHAR(32) NOT NULL, - `nombre_largo` VARCHAR(128) NOT NULL, - `fk_pais_id` INTEGER default 0 NOT NULL, - `orden` INTEGER default 0, - PRIMARY KEY (`id`), - INDEX `provincia_FI_1` (`fk_pais_id`), - CONSTRAINT `provincia_FK_1` - FOREIGN KEY (`fk_pais_id`) - REFERENCES `pais` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- tipolocacion -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `tipolocacion`; - - -CREATE TABLE `tipolocacion` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- locacion -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `locacion`; - - -CREATE TABLE `locacion` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - `direccion` VARCHAR(128) NOT NULL, - `ciudad` VARCHAR(128) NOT NULL, - `codigo_postal` VARCHAR(20), - `fk_provincia_id` INTEGER default 0 NOT NULL, - `fk_tipolocacion_id` INTEGER default 0 NOT NULL, - `telefono` VARCHAR(20), - `fax` VARCHAR(20), - `encargado` VARCHAR(128), - `encargado_telefono` VARCHAR(20), - `principal` INTEGER default 0 NOT NULL, - PRIMARY KEY (`id`), - INDEX `locacion_FI_1` (`fk_provincia_id`), - CONSTRAINT `locacion_FK_1` - FOREIGN KEY (`fk_provincia_id`) - REFERENCES `provincia` (`id`), - INDEX `locacion_FI_2` (`fk_tipolocacion_id`), - CONSTRAINT `locacion_FK_2` - FOREIGN KEY (`fk_tipolocacion_id`) - REFERENCES `tipolocacion` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- modulo -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `modulo`; - - -CREATE TABLE `modulo` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `titulo` VARCHAR(128), - `descripcion` VARCHAR(255), - `activo` INTEGER default 1 NOT NULL, - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- espacio -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `espacio`; - - -CREATE TABLE `espacio` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `m2` FLOAT, - `capacidad` VARCHAR(255), - `descripcion` VARCHAR(255), - `estado` VARCHAR(255), - `fk_tipoespacio_id` INTEGER, - `fk_locacion_id` INTEGER default 0 NOT NULL, - PRIMARY KEY (`id`), - INDEX `espacio_FI_1` (`fk_tipoespacio_id`), - CONSTRAINT `espacio_FK_1` - FOREIGN KEY (`fk_tipoespacio_id`) - REFERENCES `tipoespacio` (`id`), - INDEX `espacio_FI_2` (`fk_locacion_id`), - CONSTRAINT `espacio_FK_2` - FOREIGN KEY (`fk_locacion_id`) - REFERENCES `locacion` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- distritoescolar -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `distritoescolar`; - - -CREATE TABLE `distritoescolar` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `direccion` VARCHAR(128), - `telefono` VARCHAR(20), - `ciudad` VARCHAR(128), - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- niveltipo -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `niveltipo`; - - -CREATE TABLE `niveltipo` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- organizacion -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `organizacion`; - - -CREATE TABLE `organizacion` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - `razon_social` VARCHAR(128) NOT NULL, - `cuit` VARCHAR(20) NOT NULL, - `direccion` VARCHAR(128) NOT NULL, - `ciudad` VARCHAR(128) NOT NULL, - `codigo_postal` VARCHAR(20) NOT NULL, - `telefono` VARCHAR(20), - `fk_provincia_id` INTEGER default 0 NOT NULL, - `fk_tipoiva_id` INTEGER default 0 NOT NULL, - PRIMARY KEY (`id`), - INDEX `organizacion_FI_1` (`fk_provincia_id`), - CONSTRAINT `organizacion_FK_1` - FOREIGN KEY (`fk_provincia_id`) - REFERENCES `provincia` (`id`), - INDEX `organizacion_FI_2` (`fk_tipoiva_id`), - CONSTRAINT `organizacion_FK_2` - FOREIGN KEY (`fk_tipoiva_id`) - REFERENCES `tipoiva` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- establecimiento -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `establecimiento`; - - -CREATE TABLE `establecimiento` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - `fk_distritoescolar_id` INTEGER default 0 NOT NULL, - `fk_organizacion_id` INTEGER default 0 NOT NULL, - `fk_niveltipo_id` INTEGER default 0 NOT NULL, - PRIMARY KEY (`id`), - INDEX `establecimiento_FI_1` (`fk_distritoescolar_id`), - CONSTRAINT `establecimiento_FK_1` - FOREIGN KEY (`fk_distritoescolar_id`) - REFERENCES `distritoescolar` (`id`), - INDEX `establecimiento_FI_2` (`fk_organizacion_id`), - CONSTRAINT `establecimiento_FK_2` - FOREIGN KEY (`fk_organizacion_id`) - REFERENCES `organizacion` (`id`), - INDEX `establecimiento_FI_3` (`fk_niveltipo_id`), - CONSTRAINT `establecimiento_FK_3` - FOREIGN KEY (`fk_niveltipo_id`) - REFERENCES `niveltipo` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- permiso -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `permiso`; - - -CREATE TABLE `permiso` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - `fk_modulo_id` INTEGER default 0 NOT NULL, - `credencial` VARCHAR(32), - PRIMARY KEY (`id`), - INDEX `permiso_FI_1` (`fk_modulo_id`), - CONSTRAINT `permiso_FK_1` - FOREIGN KEY (`fk_modulo_id`) - REFERENCES `modulo` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- preferencia -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `preferencia`; - - -CREATE TABLE `preferencia` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `valor_por_defecto` VARCHAR(128), - `activo` INTEGER default 1 NOT NULL, - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- rol -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `rol`; - - -CREATE TABLE `rol` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - `activo` INTEGER default 1 NOT NULL, - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- usuario -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `usuario`; - - -CREATE TABLE `usuario` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `usuario` VARCHAR(32) NOT NULL, - `clave` VARCHAR(48) NOT NULL, - `correo_publico` INTEGER default 1, - `activo` INTEGER default 1 NOT NULL, - `fecha_creado` DATETIME NOT NULL, - `fecha_actualizado` DATETIME NOT NULL, - `seguridad_pregunta` VARCHAR(128), - `seguridad_respuesta` VARCHAR(128), - `email` VARCHAR(128), - `fk_establecimiento_id` INTEGER default 0 NOT NULL, - `borrado` INTEGER default 0 NOT NULL, - PRIMARY KEY (`id`), - INDEX `usuario_FI_1` (`fk_establecimiento_id`), - CONSTRAINT `usuario_FK_1` - FOREIGN KEY (`fk_establecimiento_id`) - REFERENCES `establecimiento` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- rel_establecimiento_locacion -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `rel_establecimiento_locacion`; - - -CREATE TABLE `rel_establecimiento_locacion` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_establecimiento_id` INTEGER default 0 NOT NULL, - `fk_locacion_id` INTEGER default 0 NOT NULL, - PRIMARY KEY (`id`), - INDEX `rel_establecimiento_locacion_FI_1` (`fk_establecimiento_id`), - CONSTRAINT `rel_establecimiento_locacion_FK_1` - FOREIGN KEY (`fk_establecimiento_id`) - REFERENCES `establecimiento` (`id`), - INDEX `rel_establecimiento_locacion_FI_2` (`fk_locacion_id`), - CONSTRAINT `rel_establecimiento_locacion_FK_2` - FOREIGN KEY (`fk_locacion_id`) - REFERENCES `locacion` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- rel_rol_permiso -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `rel_rol_permiso`; - - -CREATE TABLE `rel_rol_permiso` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_rol_id` INTEGER default 0 NOT NULL, - `fk_permiso_id` INTEGER default 0 NOT NULL, - PRIMARY KEY (`id`), - INDEX `rel_rol_permiso_FI_1` (`fk_rol_id`), - CONSTRAINT `rel_rol_permiso_FK_1` - FOREIGN KEY (`fk_rol_id`) - REFERENCES `rol` (`id`), - INDEX `rel_rol_permiso_FI_2` (`fk_permiso_id`), - CONSTRAINT `rel_rol_permiso_FK_2` - FOREIGN KEY (`fk_permiso_id`) - REFERENCES `permiso` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- rel_usuario_permiso -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `rel_usuario_permiso`; - - -CREATE TABLE `rel_usuario_permiso` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_usuario_id` INTEGER default 0 NOT NULL, - `fk_permiso_id` INTEGER default 0 NOT NULL, - PRIMARY KEY (`id`), - INDEX `rel_usuario_permiso_FI_1` (`fk_usuario_id`), - CONSTRAINT `rel_usuario_permiso_FK_1` - FOREIGN KEY (`fk_usuario_id`) - REFERENCES `usuario` (`id`), - INDEX `rel_usuario_permiso_FI_2` (`fk_permiso_id`), - CONSTRAINT `rel_usuario_permiso_FK_2` - FOREIGN KEY (`fk_permiso_id`) - REFERENCES `permiso` (`id`) - ON DELETE CASCADE -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- rel_usuario_preferencia -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `rel_usuario_preferencia`; - - -CREATE TABLE `rel_usuario_preferencia` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_usuario_id` INTEGER default 0 NOT NULL, - `fk_preferencia_id` INTEGER default 0 NOT NULL, - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- orientacion -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `orientacion`; - - -CREATE TABLE `orientacion` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- cuenta -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `cuenta`; - - -CREATE TABLE `cuenta` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `razon_social` VARCHAR(128) NOT NULL, - `cuit` VARCHAR(20) NOT NULL, - `direccion` VARCHAR(128) NOT NULL, - `ciudad` VARCHAR(128) NOT NULL, - `codigo_postal` VARCHAR(20) NOT NULL, - `telefono` VARCHAR(20), - `fk_provincia_id` INTEGER, - `fk_tipoiva_id` INTEGER default 0 NOT NULL, - PRIMARY KEY (`id`), - INDEX `cuenta_FI_1` (`fk_provincia_id`), - CONSTRAINT `cuenta_FK_1` - FOREIGN KEY (`fk_provincia_id`) - REFERENCES `provincia` (`id`), - INDEX `cuenta_FI_2` (`fk_tipoiva_id`), - CONSTRAINT `cuenta_FK_2` - FOREIGN KEY (`fk_tipoiva_id`) - REFERENCES `tipoiva` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- alumno -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `alumno`; - - -CREATE TABLE `alumno` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `apellido` VARCHAR(128) NOT NULL, - `fecha_nacimiento` DATETIME NOT NULL, - `direccion` VARCHAR(128) NOT NULL, - `ciudad` VARCHAR(128) NOT NULL, - `codigo_postal` VARCHAR(20) NOT NULL, - `fk_provincia_id` INTEGER default 0 NOT NULL, - `telefono` VARCHAR(20), - `lugar_nacimiento` VARCHAR(128), - `fk_tipodocumento_id` INTEGER default 0 NOT NULL, - `nro_documento` VARCHAR(16) NOT NULL, - `sexo` CHAR(1) NOT NULL, - `email` VARCHAR(128) NOT NULL, - `distancia_escuela` INTEGER default 0, - `hermanos_escuela` INTEGER default 0 NOT NULL, - `hijo_maestro_escuela` INTEGER default 0 NOT NULL, - `fk_establecimiento_id` INTEGER default 0 NOT NULL, - `fk_cuenta_id` INTEGER default 0 NOT NULL, - `certificado_medico` INTEGER default 0 NOT NULL, - `activo` INTEGER default 1 NOT NULL, - `fk_conceptobaja_id` INTEGER, - `fk_pais_id` INTEGER default 0 NOT NULL, - PRIMARY KEY (`id`), - INDEX `alumno_FI_1` (`fk_provincia_id`), - CONSTRAINT `alumno_FK_1` - FOREIGN KEY (`fk_provincia_id`) - REFERENCES `provincia` (`id`), - INDEX `alumno_FI_2` (`fk_tipodocumento_id`), - CONSTRAINT `alumno_FK_2` - FOREIGN KEY (`fk_tipodocumento_id`) - REFERENCES `tipodocumento` (`id`), - INDEX `alumno_FI_3` (`fk_establecimiento_id`), - CONSTRAINT `alumno_FK_3` - FOREIGN KEY (`fk_establecimiento_id`) - REFERENCES `establecimiento` (`id`), - INDEX `alumno_FI_4` (`fk_cuenta_id`), - CONSTRAINT `alumno_FK_4` - FOREIGN KEY (`fk_cuenta_id`) - REFERENCES `cuenta` (`id`), - INDEX `alumno_FI_5` (`fk_conceptobaja_id`), - CONSTRAINT `alumno_FK_5` - FOREIGN KEY (`fk_conceptobaja_id`) - REFERENCES `conceptobaja` (`id`), - INDEX `alumno_FI_6` (`fk_pais_id`), - CONSTRAINT `alumno_FK_6` - FOREIGN KEY (`fk_pais_id`) - REFERENCES `pais` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- rol_responsable -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `rol_responsable`; - - -CREATE TABLE `rol_responsable` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - `activo` INTEGER default 1 NOT NULL, - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- responsable -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `responsable`; - - -CREATE TABLE `responsable` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `apellido` VARCHAR(128) NOT NULL, - `direccion` VARCHAR(128), - `ciudad` VARCHAR(128), - `codigo_postal` VARCHAR(20), - `fk_provincia_id` INTEGER default 0 NOT NULL, - `telefono` VARCHAR(20), - `telefono_movil` VARCHAR(20), - `nro_documento` VARCHAR(20) NOT NULL, - `fk_tipodocumento_id` INTEGER default 0 NOT NULL, - `sexo` CHAR(1) NOT NULL, - `email` VARCHAR(128), - `observacion` VARCHAR(255), - `autorizacion_retiro` INTEGER default 0 NOT NULL, - `fk_cuenta_id` INTEGER default 0 NOT NULL, - `fk_rolresponsable_id` INTEGER default 1 NOT NULL, - PRIMARY KEY (`id`), - INDEX `responsable_FI_1` (`fk_provincia_id`), - CONSTRAINT `responsable_FK_1` - FOREIGN KEY (`fk_provincia_id`) - REFERENCES `provincia` (`id`), - INDEX `responsable_FI_2` (`fk_tipodocumento_id`), - CONSTRAINT `responsable_FK_2` - FOREIGN KEY (`fk_tipodocumento_id`) - REFERENCES `tipodocumento` (`id`), - INDEX `responsable_FI_3` (`fk_cuenta_id`), - CONSTRAINT `responsable_FK_3` - FOREIGN KEY (`fk_cuenta_id`) - REFERENCES `cuenta` (`id`), - INDEX `responsable_FI_4` (`fk_rolresponsable_id`), - CONSTRAINT `responsable_FK_4` - FOREIGN KEY (`fk_rolresponsable_id`) - REFERENCES `rol_responsable` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- ciclolectivo -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `ciclolectivo`; - - -CREATE TABLE `ciclolectivo` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_establecimiento_id` INTEGER NOT NULL, - `fecha_inicio` DATETIME NOT NULL, - `fecha_fin` DATETIME NOT NULL, - `descripcion` VARCHAR(255) NOT NULL, - `actual` INTEGER default 0 NOT NULL, - PRIMARY KEY (`id`), - INDEX `ciclolectivo_FI_1` (`fk_establecimiento_id`), - CONSTRAINT `ciclolectivo_FK_1` - FOREIGN KEY (`fk_establecimiento_id`) - REFERENCES `establecimiento` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- turno -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `turno`; - - -CREATE TABLE `turno` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_ciclolectivo_id` INTEGER NOT NULL, - `hora_inicio` TIME NOT NULL, - `hora_fin` TIME NOT NULL, - `descripcion` VARCHAR(255) NOT NULL, - PRIMARY KEY (`id`), - INDEX `turno_FI_1` (`fk_ciclolectivo_id`), - CONSTRAINT `turno_FK_1` - FOREIGN KEY (`fk_ciclolectivo_id`) - REFERENCES `ciclolectivo` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- periodo -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `periodo`; - - -CREATE TABLE `periodo` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_ciclolectivo_id` INTEGER NOT NULL, - `fecha_inicio` DATETIME NOT NULL, - `fecha_fin` DATETIME NOT NULL, - `descripcion` VARCHAR(255) NOT NULL, - PRIMARY KEY (`id`), - INDEX `periodo_FI_1` (`fk_ciclolectivo_id`), - CONSTRAINT `periodo_FK_1` - FOREIGN KEY (`fk_ciclolectivo_id`) - REFERENCES `ciclolectivo` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- tipodocente -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `tipodocente`; - - -CREATE TABLE `tipodocente` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- cargobaja -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `cargobaja`; - - -CREATE TABLE `cargobaja` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- calendariovacunacion -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `calendariovacunacion`; - - -CREATE TABLE `calendariovacunacion` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - `periodo` VARCHAR(128), - `observacion` VARCHAR(255), - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- rel_calendariovacunacion_alumno -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `rel_calendariovacunacion_alumno`; - - -CREATE TABLE `rel_calendariovacunacion_alumno` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_alumno_id` INTEGER NOT NULL, - `fk_calendariovacunacion_id` INTEGER NOT NULL, - `observacion` VARCHAR(255), - `comprobante` INTEGER default 0 NOT NULL, - `fecha` DATETIME, - PRIMARY KEY (`id`), - INDEX `rel_calendariovacunacion_alumno_FI_1` (`fk_alumno_id`), - CONSTRAINT `rel_calendariovacunacion_alumno_FK_1` - FOREIGN KEY (`fk_alumno_id`) - REFERENCES `alumno` (`id`), - INDEX `rel_calendariovacunacion_alumno_FI_2` (`fk_calendariovacunacion_id`), - CONSTRAINT `rel_calendariovacunacion_alumno_FK_2` - FOREIGN KEY (`fk_calendariovacunacion_id`) - REFERENCES `calendariovacunacion` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- legajocategoria -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `legajocategoria`; - - -CREATE TABLE `legajocategoria` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `descripcion` VARCHAR(255) NOT NULL, - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- legajopedagogico -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `legajopedagogico`; - - -CREATE TABLE `legajopedagogico` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_alumno_id` INTEGER NOT NULL, - `titulo` VARCHAR(255) NOT NULL, - `resumen` LONGBLOB NOT NULL, - `texto` LONGBLOB NOT NULL, - `fecha` DATETIME NOT NULL, - `fk_usuario_id` INTEGER NOT NULL, - `fk_legajocategoria_id` INTEGER NOT NULL, - PRIMARY KEY (`id`), - INDEX `legajopedagogico_FI_1` (`fk_alumno_id`), - CONSTRAINT `legajopedagogico_FK_1` - FOREIGN KEY (`fk_alumno_id`) - REFERENCES `alumno` (`id`), - INDEX `legajopedagogico_FI_2` (`fk_usuario_id`), - CONSTRAINT `legajopedagogico_FK_2` - FOREIGN KEY (`fk_usuario_id`) - REFERENCES `usuario` (`id`), - INDEX `legajopedagogico_FI_3` (`fk_legajocategoria_id`), - CONSTRAINT `legajopedagogico_FK_3` - FOREIGN KEY (`fk_legajocategoria_id`) - REFERENCES `legajocategoria` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- adjunto -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `adjunto`; - - -CREATE TABLE `adjunto` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `descripcion` VARCHAR(255), - `titulo` VARCHAR(255), - `nombre_archivo` VARCHAR(255) NOT NULL, - `tipo_archivo` VARCHAR(64) NOT NULL, - `ruta` VARCHAR(255) NOT NULL, - `fecha` DATETIME NOT NULL, - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- legajoadjunto -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `legajoadjunto`; - - -CREATE TABLE `legajoadjunto` -( - `fk_legajopedagogico_id` INTEGER NOT NULL, - `fk_adjunto_id` INTEGER NOT NULL, - `id` INTEGER NOT NULL AUTO_INCREMENT, - PRIMARY KEY (`id`), - INDEX `legajoadjunto_FI_1` (`fk_legajopedagogico_id`), - CONSTRAINT `legajoadjunto_FK_1` - FOREIGN KEY (`fk_legajopedagogico_id`) - REFERENCES `legajopedagogico` (`id`), - INDEX `legajoadjunto_FI_2` (`fk_adjunto_id`), - CONSTRAINT `legajoadjunto_FK_2` - FOREIGN KEY (`fk_adjunto_id`) - REFERENCES `adjunto` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- tipoasistencia -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `tipoasistencia`; - - -CREATE TABLE `tipoasistencia` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(10) NOT NULL, - `descripcion` VARCHAR(255), - `valor` DECIMAL(4,2) default 1 NOT NULL, - `grupo` VARCHAR(30), - `defecto` INTEGER default 0 NOT NULL, - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- asistencia -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `asistencia`; - - -CREATE TABLE `asistencia` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_alumno_id` INTEGER NOT NULL, - `fk_tipoasistencia_id` INTEGER NOT NULL, - `fecha` DATETIME NOT NULL, - PRIMARY KEY (`id`), - INDEX `asistencia_FI_1` (`fk_alumno_id`), - CONSTRAINT `asistencia_FK_1` - FOREIGN KEY (`fk_alumno_id`) - REFERENCES `alumno` (`id`), - INDEX `asistencia_FI_2` (`fk_tipoasistencia_id`), - CONSTRAINT `asistencia_FK_2` - FOREIGN KEY (`fk_tipoasistencia_id`) - REFERENCES `tipoasistencia` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- concepto -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `concepto`; - - -CREATE TABLE `concepto` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_establecimiento_id` INTEGER default 0 NOT NULL, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - PRIMARY KEY (`id`), - INDEX `concepto_FI_1` (`fk_establecimiento_id`), - CONSTRAINT `concepto_FK_1` - FOREIGN KEY (`fk_establecimiento_id`) - REFERENCES `establecimiento` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- escalanota -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `escalanota`; - - -CREATE TABLE `escalanota` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_establecimiento_id` INTEGER default 0 NOT NULL, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - `orden` INTEGER NOT NULL, - `aprobado` INTEGER default 0 NOT NULL, - PRIMARY KEY (`id`), - INDEX `escalanota_FI_1` (`fk_establecimiento_id`), - CONSTRAINT `escalanota_FK_1` - FOREIGN KEY (`fk_establecimiento_id`) - REFERENCES `establecimiento` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- boletin_conceptual -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `boletin_conceptual`; - - -CREATE TABLE `boletin_conceptual` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_escalanota_id` INTEGER, - `fk_alumno_id` INTEGER default 0 NOT NULL, - `fk_concepto_id` INTEGER default 0 NOT NULL, - `fk_periodo_id` INTEGER default 0 NOT NULL, - `observacion` LONGBLOB NOT NULL, - `fecha` DATETIME NOT NULL, - PRIMARY KEY (`id`), - INDEX `boletin_conceptual_FI_1` (`fk_escalanota_id`), - CONSTRAINT `boletin_conceptual_FK_1` - FOREIGN KEY (`fk_escalanota_id`) - REFERENCES `escalanota` (`id`), - INDEX `boletin_conceptual_FI_2` (`fk_alumno_id`), - CONSTRAINT `boletin_conceptual_FK_2` - FOREIGN KEY (`fk_alumno_id`) - REFERENCES `alumno` (`id`), - INDEX `boletin_conceptual_FI_3` (`fk_concepto_id`), - CONSTRAINT `boletin_conceptual_FK_3` - FOREIGN KEY (`fk_concepto_id`) - REFERENCES `concepto` (`id`), - INDEX `boletin_conceptual_FI_4` (`fk_periodo_id`), - CONSTRAINT `boletin_conceptual_FK_4` - FOREIGN KEY (`fk_periodo_id`) - REFERENCES `periodo` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- actividad -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `actividad`; - - -CREATE TABLE `actividad` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_establecimiento_id` INTEGER default 0 NOT NULL, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - PRIMARY KEY (`id`), - INDEX `actividad_FI_1` (`fk_establecimiento_id`), - CONSTRAINT `actividad_FK_1` - FOREIGN KEY (`fk_establecimiento_id`) - REFERENCES `establecimiento` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- boletin_actividades -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `boletin_actividades`; - - -CREATE TABLE `boletin_actividades` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_escalanota_id` INTEGER, - `fk_alumno_id` INTEGER default 0 NOT NULL, - `fk_actividad_id` INTEGER default 0 NOT NULL, - `fk_periodo_id` INTEGER default 0 NOT NULL, - `observacion` LONGBLOB NOT NULL, - `fecha` DATETIME NOT NULL, - PRIMARY KEY (`id`), - INDEX `boletin_actividades_FI_1` (`fk_escalanota_id`), - CONSTRAINT `boletin_actividades_FK_1` - FOREIGN KEY (`fk_escalanota_id`) - REFERENCES `escalanota` (`id`), - INDEX `boletin_actividades_FI_2` (`fk_alumno_id`), - CONSTRAINT `boletin_actividades_FK_2` - FOREIGN KEY (`fk_alumno_id`) - REFERENCES `alumno` (`id`), - INDEX `boletin_actividades_FI_3` (`fk_actividad_id`), - CONSTRAINT `boletin_actividades_FK_3` - FOREIGN KEY (`fk_actividad_id`) - REFERENCES `actividad` (`id`), - INDEX `boletin_actividades_FI_4` (`fk_periodo_id`), - CONSTRAINT `boletin_actividades_FK_4` - FOREIGN KEY (`fk_periodo_id`) - REFERENCES `periodo` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- examen -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `examen`; - - -CREATE TABLE `examen` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_escalanota_id` INTEGER default 0 NOT NULL, - `fk_alumno_id` INTEGER default 0 NOT NULL, - `fk_actividad_id` INTEGER default 0 NOT NULL, - `fk_periodo_id` INTEGER default 0 NOT NULL, - `nombre` VARCHAR(255) NOT NULL, - `observacion` LONGBLOB NOT NULL, - `fecha` DATETIME NOT NULL, - PRIMARY KEY (`id`), - INDEX `examen_FI_1` (`fk_escalanota_id`), - CONSTRAINT `examen_FK_1` - FOREIGN KEY (`fk_escalanota_id`) - REFERENCES `escalanota` (`id`), - INDEX `examen_FI_2` (`fk_alumno_id`), - CONSTRAINT `examen_FK_2` - FOREIGN KEY (`fk_alumno_id`) - REFERENCES `alumno` (`id`), - INDEX `examen_FI_3` (`fk_actividad_id`), - CONSTRAINT `examen_FK_3` - FOREIGN KEY (`fk_actividad_id`) - REFERENCES `actividad` (`id`), - INDEX `examen_FI_4` (`fk_periodo_id`), - CONSTRAINT `examen_FK_4` - FOREIGN KEY (`fk_periodo_id`) - REFERENCES `periodo` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- anio -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `anio`; - - -CREATE TABLE `anio` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_establecimiento_id` INTEGER default 0 NOT NULL, - `descripcion` VARCHAR(255) NOT NULL, - `orden` INTEGER default 0, - PRIMARY KEY (`id`), - INDEX `anio_FI_1` (`fk_establecimiento_id`), - CONSTRAINT `anio_FK_1` - FOREIGN KEY (`fk_establecimiento_id`) - REFERENCES `establecimiento` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- division -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `division`; - - -CREATE TABLE `division` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_anio_id` INTEGER default 0 NOT NULL, - `descripcion` VARCHAR(255) NOT NULL, - `fk_turno_id` INTEGER default 0 NOT NULL, - `fk_orientacion_id` INTEGER, - `orden` INTEGER default 0, - PRIMARY KEY (`id`), - INDEX `division_FI_1` (`fk_anio_id`), - CONSTRAINT `division_FK_1` - FOREIGN KEY (`fk_anio_id`) - REFERENCES `anio` (`id`), - INDEX `division_FI_2` (`fk_turno_id`), - CONSTRAINT `division_FK_2` - FOREIGN KEY (`fk_turno_id`) - REFERENCES `turno` (`id`), - INDEX `division_FI_3` (`fk_orientacion_id`), - CONSTRAINT `division_FK_3` - FOREIGN KEY (`fk_orientacion_id`) - REFERENCES `orientacion` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- repeticion -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `repeticion`; - - -CREATE TABLE `repeticion` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `descripcion` VARCHAR(255) NOT NULL, - `orden` INTEGER default 0 NOT NULL, - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- rel_anio_actividad -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `rel_anio_actividad`; - - -CREATE TABLE `rel_anio_actividad` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_anio_id` INTEGER default 0 NOT NULL, - `fk_actividad_id` INTEGER default 0 NOT NULL, - `fk_orientacion_id` INTEGER, - `horas` DECIMAL(10,2) default 0 NOT NULL, - PRIMARY KEY (`id`), - INDEX `rel_anio_actividad_FI_1` (`fk_anio_id`), - CONSTRAINT `rel_anio_actividad_FK_1` - FOREIGN KEY (`fk_anio_id`) - REFERENCES `anio` (`id`), - INDEX `rel_anio_actividad_FI_2` (`fk_actividad_id`), - CONSTRAINT `rel_anio_actividad_FK_2` - FOREIGN KEY (`fk_actividad_id`) - REFERENCES `actividad` (`id`), - INDEX `rel_anio_actividad_FI_3` (`fk_orientacion_id`), - CONSTRAINT `rel_anio_actividad_FK_3` - FOREIGN KEY (`fk_orientacion_id`) - REFERENCES `orientacion` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- rel_alumno_division -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `rel_alumno_division`; - - -CREATE TABLE `rel_alumno_division` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_division_id` INTEGER default 0 NOT NULL, - `fk_alumno_id` INTEGER default 0 NOT NULL, - PRIMARY KEY (`id`), - INDEX `rel_alumno_division_FI_1` (`fk_division_id`), - CONSTRAINT `rel_alumno_division_FK_1` - FOREIGN KEY (`fk_division_id`) - REFERENCES `division` (`id`), - INDEX `rel_alumno_division_FI_2` (`fk_alumno_id`), - CONSTRAINT `rel_alumno_division_FK_2` - FOREIGN KEY (`fk_alumno_id`) - REFERENCES `alumno` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- docente -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `docente`; - - -CREATE TABLE `docente` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `apellido` VARCHAR(128) NOT NULL, - `nombre` VARCHAR(128) NOT NULL, - `sexo` CHAR(1) NOT NULL, - `fecha_nacimiento` DATETIME NOT NULL, - `fk_tipodocumento_id` INTEGER default 0 NOT NULL, - `nro_documento` VARCHAR(16) NOT NULL, - `lugar_nacimiento` VARCHAR(128), - `direccion` VARCHAR(128), - `ciudad` VARCHAR(128), - `codigo_postal` VARCHAR(20), - `email` VARCHAR(255), - `telefono` VARCHAR(20), - `telefono_movil` VARCHAR(20), - `titulo` VARCHAR(128) NOT NULL, - `libreta_sanitaria` INTEGER default 0, - `psicofisico` INTEGER default 0, - `activo` INTEGER default 1, - `fk_provincia_id` INTEGER default 0 NOT NULL, - `fk_pais_id` INTEGER default 0 NOT NULL, - PRIMARY KEY (`id`), - INDEX `docente_FI_1` (`fk_tipodocumento_id`), - CONSTRAINT `docente_FK_1` - FOREIGN KEY (`fk_tipodocumento_id`) - REFERENCES `tipodocumento` (`id`), - INDEX `docente_FI_2` (`fk_provincia_id`), - CONSTRAINT `docente_FK_2` - FOREIGN KEY (`fk_provincia_id`) - REFERENCES `provincia` (`id`), - INDEX `docente_FI_3` (`fk_pais_id`), - CONSTRAINT `docente_FK_3` - FOREIGN KEY (`fk_pais_id`) - REFERENCES `pais` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- horarioescolartipo -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `horarioescolartipo`; - - -CREATE TABLE `horarioescolartipo` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- evento -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `evento`; - - -CREATE TABLE `evento` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `titulo` VARCHAR(128) NOT NULL, - `fecha_inicio` DATETIME NOT NULL, - `fecha_fin` DATETIME NOT NULL, - `tipo` INTEGER default 0 NOT NULL, - `frecuencia` INTEGER default 0 NOT NULL, - `frecuencia_intervalo` INTEGER default 0 NOT NULL, - `recurrencia_fin` VARCHAR(16), - `recurrencia_dias` INTEGER default 0 NOT NULL, - `estado` INTEGER default 0 NOT NULL, - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- rel_division_actividad_docente -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `rel_division_actividad_docente`; - - -CREATE TABLE `rel_division_actividad_docente` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_division_id` INTEGER default 0, - `fk_actividad_id` INTEGER default 0 NOT NULL, - `fk_docente_id` INTEGER default 0, - `fk_evento_id` INTEGER default 0, - PRIMARY KEY (`id`), - INDEX `rel_division_actividad_docente_FI_1` (`fk_division_id`), - CONSTRAINT `rel_division_actividad_docente_FK_1` - FOREIGN KEY (`fk_division_id`) - REFERENCES `division` (`id`), - INDEX `rel_division_actividad_docente_FI_2` (`fk_actividad_id`), - CONSTRAINT `rel_division_actividad_docente_FK_2` - FOREIGN KEY (`fk_actividad_id`) - REFERENCES `actividad` (`id`), - INDEX `rel_division_actividad_docente_FI_3` (`fk_docente_id`), - CONSTRAINT `rel_division_actividad_docente_FK_3` - FOREIGN KEY (`fk_docente_id`) - REFERENCES `docente` (`id`), - INDEX `rel_division_actividad_docente_FI_4` (`fk_evento_id`), - CONSTRAINT `rel_division_actividad_docente_FK_4` - FOREIGN KEY (`fk_evento_id`) - REFERENCES `evento` (`id`) - ON DELETE CASCADE -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- rel_docente_establecimiento -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `rel_docente_establecimiento`; - - -CREATE TABLE `rel_docente_establecimiento` -( - `fk_establecimiento_id` INTEGER default 0 NOT NULL, - `fk_docente_id` INTEGER default 0 NOT NULL, - `id` INTEGER NOT NULL AUTO_INCREMENT, - PRIMARY KEY (`id`), - INDEX `rel_docente_establecimiento_FI_1` (`fk_establecimiento_id`), - CONSTRAINT `rel_docente_establecimiento_FK_1` - FOREIGN KEY (`fk_establecimiento_id`) - REFERENCES `establecimiento` (`id`), - INDEX `rel_docente_establecimiento_FI_2` (`fk_docente_id`), - CONSTRAINT `rel_docente_establecimiento_FK_2` - FOREIGN KEY (`fk_docente_id`) - REFERENCES `docente` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- docente_horario -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `docente_horario`; - - -CREATE TABLE `docente_horario` -( - `fk_docente_id` INTEGER NOT NULL, - `fk_evento_id` INTEGER NOT NULL, - PRIMARY KEY (`fk_docente_id`,`fk_evento_id`), - CONSTRAINT `docente_horario_FK_1` - FOREIGN KEY (`fk_docente_id`) - REFERENCES `docente` (`id`), - INDEX `docente_horario_FI_2` (`fk_evento_id`), - CONSTRAINT `docente_horario_FK_2` - FOREIGN KEY (`fk_evento_id`) - REFERENCES `evento` (`id`) - ON DELETE CASCADE -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- feriado -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `feriado`; - - -CREATE TABLE `feriado` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `fecha` DATETIME NOT NULL, - `repeticion_anual` INTEGER default 0, - `inamovible` INTEGER default 0, - `fk_ciclolectivo_id` INTEGER default 0 NOT NULL, - PRIMARY KEY (`id`), - INDEX `feriado_FI_1` (`fk_ciclolectivo_id`), - CONSTRAINT `feriado_FK_1` - FOREIGN KEY (`fk_ciclolectivo_id`) - REFERENCES `ciclolectivo` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- horarioescolar -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `horarioescolar`; - - -CREATE TABLE `horarioescolar` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - `fk_evento_id` INTEGER, - `fk_establecimiento_id` INTEGER default 0 NOT NULL, - `fk_turno_id` INTEGER default 0 NOT NULL, - `fk_horarioescolartipo_id` INTEGER default 0 NOT NULL, - PRIMARY KEY (`id`), - INDEX `horarioescolar_FI_1` (`fk_evento_id`), - CONSTRAINT `horarioescolar_FK_1` - FOREIGN KEY (`fk_evento_id`) - REFERENCES `evento` (`id`) - ON DELETE CASCADE, - INDEX `horarioescolar_FI_2` (`fk_establecimiento_id`), - CONSTRAINT `horarioescolar_FK_2` - FOREIGN KEY (`fk_establecimiento_id`) - REFERENCES `establecimiento` (`id`), - INDEX `horarioescolar_FI_3` (`fk_turno_id`), - CONSTRAINT `horarioescolar_FK_3` - FOREIGN KEY (`fk_turno_id`) - REFERENCES `turno` (`id`), - INDEX `horarioescolar_FI_4` (`fk_horarioescolartipo_id`), - CONSTRAINT `horarioescolar_FK_4` - FOREIGN KEY (`fk_horarioescolartipo_id`) - REFERENCES `horarioescolartipo` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- rel_rolresponsable_responsable -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `rel_rolresponsable_responsable`; - - -CREATE TABLE `rel_rolresponsable_responsable` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `fk_rolresponsable_id` INTEGER default 0 NOT NULL, - `fk_responsable_id` INTEGER default 0 NOT NULL, - `fk_alumno_id` INTEGER default 0 NOT NULL, - `descripcion` VARCHAR(255), - PRIMARY KEY (`id`), - INDEX `rel_rolresponsable_responsable_FI_1` (`fk_rolresponsable_id`), - CONSTRAINT `rel_rolresponsable_responsable_FK_1` - FOREIGN KEY (`fk_rolresponsable_id`) - REFERENCES `rol_responsable` (`id`), - INDEX `rel_rolresponsable_responsable_FI_2` (`fk_responsable_id`), - CONSTRAINT `rel_rolresponsable_responsable_FK_2` - FOREIGN KEY (`fk_responsable_id`) - REFERENCES `responsable` (`id`), - INDEX `rel_rolresponsable_responsable_FI_3` (`fk_alumno_id`), - CONSTRAINT `rel_rolresponsable_responsable_FK_3` - FOREIGN KEY (`fk_alumno_id`) - REFERENCES `alumno` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- rel_anio_actividad_docente -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `rel_anio_actividad_docente`; - - -CREATE TABLE `rel_anio_actividad_docente` -( - `fk_anio_actividad_id` INTEGER NOT NULL, - `fk_docente_id` INTEGER NOT NULL, - PRIMARY KEY (`fk_anio_actividad_id`,`fk_docente_id`), - CONSTRAINT `rel_anio_actividad_docente_FK_1` - FOREIGN KEY (`fk_anio_actividad_id`) - REFERENCES `rel_anio_actividad` (`id`), - INDEX `rel_anio_actividad_docente_FI_2` (`fk_docente_id`), - CONSTRAINT `rel_anio_actividad_docente_FK_2` - FOREIGN KEY (`fk_docente_id`) - REFERENCES `docente` (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- tipoinforme -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `tipoinforme`; - - -CREATE TABLE `tipoinforme` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - PRIMARY KEY (`id`) -)Type=InnoDB; - -#----------------------------------------------------------------------------- -#-- informe -#----------------------------------------------------------------------------- - -DROP TABLE IF EXISTS `informe`; - - -CREATE TABLE `informe` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `nombre` VARCHAR(128) NOT NULL, - `descripcion` VARCHAR(255), - `fk_adjunto_id` INTEGER NOT NULL, - `fk_tipoinforme_id` INTEGER NOT NULL, - `listado` INTEGER default 0 NOT NULL, - `variables` VARCHAR(128), - PRIMARY KEY (`id`), - INDEX `informe_FI_1` (`fk_adjunto_id`), - CONSTRAINT `informe_FK_1` - FOREIGN KEY (`fk_adjunto_id`) - REFERENCES `adjunto` (`id`), - INDEX `informe_FI_2` (`fk_tipoinforme_id`), - CONSTRAINT `informe_FK_2` - FOREIGN KEY (`fk_tipoinforme_id`) - REFERENCES `tipoinforme` (`id`) -)Type=InnoDB; - -# This restores the fkey checks, after having unset them earlier -SET FOREIGN_KEY_CHECKS = 1; Modified: prosistem/alba/trunk/alba/web/instalar/funciones.php =================================================================== --- prosistem/alba/trunk/alba/web/instalar/funciones.php 2008-02-07 01:17:13 UTC (rev 5447) +++ prosistem/alba/trunk/alba/web/instalar/funciones.php 2008-02-07 01:20:36 UTC (rev 5448) @@ -1,4 +1,4 @@ -<?php +<?php /** * This file is part of Alba. * @@ -32,8 +32,14 @@ return realpath(dirname(__FILE__) .DIRECTORY_SEPARATOR. ".." . DIRECTORY_SEPARATOR . ".." . DIRECTORY_SEPARATOR); } + +function logFile() { + return AlbaPath() . DIRECTORY_SEPARATOR . "log" . DIRECTORY_SEPARATOR . "install.log"; +} + + function DebugLog($str,$modo = 'I') { - $log = AlbaPath() . DIRECTORY_SEPARATOR . "log" . DIRECTORY_SEPARATOR . "install.log"; + $log = logFile(); $fp = @fopen($log,"a+"); if ($fp) { fwrite($fp,date('d/m/Y H:i:s') . " $modo: $str\n"); @@ -65,44 +71,82 @@ return $aSql; } -function executeDump($file, $host, $user, $pass, $db) { +function executeDump($file, $protocol, $host, $user, $pass, $db) { DebugLog("executeDump(): file: $file"); DebugLog("executeDump(): user: $user"); DebugLog("executeDump(): db: $db"); $aSql = dump2Array($file); $error = false; if(count($aSql) > 0 && file_exists($file)) { - if (mysql_connect($host,$user,$pass)) { - if(mysql_select_db($db)) { - DebugLog("executeDump(): ejecutando BEGIN" ); - mysql_query("BEGIN"); + + // otro pedazo de codigo para cambiarlo por PDO + + + if($protocol == 'mysql') { + if (mysql_connect($host,$user,$pass)) { + if(mysql_select_db($db)) { + DebugLog("executeDump(): ejecutando BEGIN" ); + mysql_query("BEGIN"); + foreach($aSql as $sql_line) { + $res = mysql_query(trim($sql_line)); + if(!$res) { + DebugLog("executeDump(): Fallo SQL: $sql_line"); + DebugLog("executeDump(): error:". mysql_error()); + $error = true; + } + } + if($error == true) { + DebugLog("executeDump(): Se encontraron errores ejecutando ROLLBACK y saliendo"); + mysql_query("ROLLBACK"); + return false; + } else { + DebugLog("executeDump(): Sin errores ejecutando COMMIT y saliendo"); + mysql_query("COMMIT"); + return true; + } + } + else { + DebugLog("executeDump(): Error al seleccionar la base: $db"); + return false; + } + } + else { + DebugLog("excuteDump(): No se puede conectar ala base de datos. " . mysql_error()); + } + } + + + if($protocol == 'pgsql') { + $conn = @pg_connect("host=$host user=$user password=$pass dbname=$db"); + if ($conn) { + DebugLog("executeDump(): ejecutando BEGIN" ); + pg_query("BEGIN"); + DebugLog("executeDump(): ejecutando SET CONSTRAINTS ALL DEFERRED" ); + pg_query("SET CONSTRAINTS ALL DEFERRED"); foreach($aSql as $sql_line) { - $res = mysql_query(trim($sql_line)); + $res = pg_query(trim($sql_line)); if(!$res) { DebugLog("executeDump(): Fallo SQL: $sql_line"); - DebugLog("executeDump(): error:". mysql_error()); + DebugLog("executeDump(): error:". pg_last_error($conn)); $error = true; } } if($error == true) { DebugLog("executeDump(): Se encontraron errores ejecutando ROLLBACK y saliendo"); - mysql_query("ROLLBACK"); + pg_query("ROLLBACK"); return false; } else { DebugLog("executeDump(): Sin errores ejecutando COMMIT y saliendo"); - mysql_query("COMMIT"); + pg_query("COMMIT"); return true; } } else { - DebugLog("executeDump(): Error al seleccionar la base: $db"); - return false; - } + DebugLog("excuteDump(): No se puede conectar ala base de datos. " . mysql_error()); + } + } - } - else { - DebugLog("excuteDump(): No se puede conectar ala base de datos. " . mysql_error()); - } + } else { DebugLog("executeDump(): No hay instrucciones SQL en el archivo"); return false; @@ -112,7 +156,7 @@ /** * genera el archivo de conexion a la base de datos */ -function generate_databases_yml($host,$user,$pass,$db) { +function generate_databases_yml($protocol,$host,$user,$pass,$db) { $yml = AlbaPath() . DIRECTORY_SEPARATOR . "config" . DIRECTORY_SEPARATOR . "databases.yml"; DebugLog ("generate_databases_yml(): generando archivo de conexion $yml"); if ($fp = @fopen ($yml,'w')) { @@ -121,10 +165,11 @@ fwrite ($fp," propel:\n"); fwrite ($fp," class: sfPropelDatabase\n"); fwrite ($fp," param:\n"); - if ($pass != "") - fwrite ($fp," dsn: mysql://$user:$pass@$host/$db\n"); - else - fwrite ($fp," dsn: mysql://$user@$host/$db\n"); + if ($pass != "") { + fwrite ($fp," dsn: $protocol://$user:$pass@$host/$db\n"); + } else { + fwrite ($fp," dsn: $protocol://$user@$host/$db\n"); + } fwrite ($fp," datasource: alba\n"); fwrite ($fp," encoding: utf8\n"); fwrite ($fp, "\n"); @@ -135,28 +180,111 @@ DebugLog("generate_databases_yml(): no se puede abrir el archivo. "); return false; } - } + /** +* genera el archivo autoload.yml para que no se autocarguen todos los modelos de DB +*/ +function generate_autoload_yml($protocol) { + $yml = AlbaPath() . DIRECTORY_SEPARATOR . "config" . DIRECTORY_SEPARATOR . "autoload.yml"; + DebugLog ("generate_autoload_yml(): generando archivo de autoload $yml"); + if ($fp = @fopen ($yml,'w')) { + fwrite ($fp,"# Archivo generado por el instalador de Alba " . date('m/d/Y H:i:s') . "\n"); + fwrite ($fp,"autoload:\n"); + fwrite ($fp," project_model:\n"); + fwrite ($fp," name: project model\n"); + fwrite ($fp," path: %SF_MODEL_LIB_DIR%/$protocol\n"); + fwrite ($fp," recursive: on\n"); + fwrite ($fp, "\n"); + DebugLog("generate_autoload_yml(): archivo yml generado"); + return true; + } else { + DebugLog("generate_autoload_yml(): no se puede abrir el archivo. "); + return false; + } +} + + +/** +* genera el archivo propel.ini para configurar el acceso a la base de datos para tareas +*/ +function generate_propel_ini($protocol,$host,$user,$pass,$db) { + $ini = AlbaPath() . DIRECTORY_SEPARATOR . "config" . DIRECTORY_SEPARATOR . "propel.ini"; + DebugLog ("generate_propel_ini(): generando archivo de propel $ini"); + if ($fp = @fopen ($ini,'w')) { + fwrite ($fp,"# Archivo generado por el instalador de Alba " . date('m/d/Y H:i:s') . "\n\n"); + fwrite ($fp,"propel.targetPackage = alba\n"); + fwrite ($fp,"propel.project = alba\n"); + fwrite ($fp,"propel.database = $protocol\n"); + fwrite ($fp,"propel.database.createUrl = $protocol://$user:$pass@$host/\n"); + fwrite ($fp,"propel.database.url = $protocol://$user:$pass@$host/$db\n"); + fwrite ($fp,"propel.addGenericAccessors = true\n"); + fwrite ($fp,"propel.addGenericMutators = true\n"); + fwrite ($fp,"propel.addTimeStamp = false\n"); + fwrite ($fp,"propel.schema.validate = false\n\n"); + fwrite ($fp,"; directories\n"); + fwrite ($fp,"propel.home = .\n"); + fwrite ($fp,'propel.output.dir = ${propel.home}'."\n"); + fwrite ($fp,'propel.schema.dir = ${propel.output.dir}/config'."\n"); + fwrite ($fp,'propel.conf.dir = ${propel.output.dir}/config'."\n"); + fwrite ($fp,'propel.phpconf.dir = ${propel.output.dir}/config'."\n"); + fwrite ($fp,'propel.sql.dir = ${propel.output.dir}/data/sql'."\n"); + fwrite ($fp,"propel.runtime.conf.file = runtime-conf.xml\n"); + fwrite ($fp,'propel.php.dir = ${propel.output.dir}'."\n"); + fwrite ($fp,"propel.default.schema.basename = schema\n"); + fwrite ($fp,"propel.datadump.mapper.from = *schema.xml\n"); + fwrite ($fp,"propel.datadump.mapper.to = *data.xml\n\n"); + fwrite ($fp,"; builder settings\n"); + fwrite ($fp,"propel.builder.peer.class = addon.propel.builder.SfPeerBuilder\n"); + fwrite ($fp,"propel.builder.object.class = addon.propel.builder.SfObjectBuilder\n"); + fwrite ($fp,"propel.builder.objectstub.class = addon.propel.builder.SfExtensionObjectBuilder\n"); + fwrite ($fp,"propel.builder.peerstub.class = addon.propel.builder.SfExtensionPeerBuilder\n"); + fwrite ($fp,"propel.builder.objectmultiextend.class = addon.propel.builder.SfMultiExtendObjectBuilder\n"); + fwrite ($fp,"propel.builder.mapbuilder.class = addon.propel.builder.SfMapBuilderBuilder\n"); + fwrite ($fp,"propel.builder.interface.class = propel.engine.builder.om.php5.PHP5InterfaceBuilder\n"); + fwrite ($fp,"propel.builder.node.class = propel.engine.builder.om.php5.PHP5NodeBuilder\n"); + fwrite ($fp,"propel.builder.nodepeer.class = propel.engine.builder.om.php5.PHP5NodePeerBuilder\n"); + fwrite ($fp,"propel.builder.nodestub.class = propel.engine.builder.om.php5.PHP5ExtensionNodeBuilder\n"); + fwrite ($fp,"propel.builder.nodepeerstub.class = propel.engine.builder.om.php5.PHP5ExtensionNodePeerBuilder\n\n"); + fwrite ($fp,"propel.mysql.tableType = InnoDB\n"); + fwrite ($fp,"propel.mysql.encoding = utf8\n"); + fwrite ($fp,"propel.packageObjectModel = true\n\n"); + fwrite ($fp,"propel.builder.addIncludes = false\n"); + fwrite ($fp,"propel.builder.addComments = false\n"); + fwrite ($fp,"propel.builder.addBehaviors = false\n"); + + DebugLog("generate_propel_ini(): archivo ini generado"); + return true; + } else { + DebugLog("generate_propel_ini(): no se puede abrir el archivo. "); + return false; + } +} + + + + +/** * carga el schema a l abase de datos */ -function crear_schema ($filesql, $host, $user, $pass, $db) { +function crear_schema ($filesql, $protocol, $host, $user, $pass, $db) { DebugLog ("crear_schema(): Agregando $filesql"); - return executeDump(AlbaPath() . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'sql' . DIRECTORY_SEPARATOR .$filesql, $host, $user, $pass, $db); - + if ($filesql == "") + return false; + else + return executeDump(AlbaPath() . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'sql' . DIRECTORY_SEPARATOR .$filesql, $protocol, $host, $user, $pass, $db); } /** * caga los datos ejemplo/minima */ -function crear_base_modelo($filesql, $host, $user, $pass, $db) { +function crear_base_modelo($filesql, $protocol, $host, $user, $pass, $db) { DebugLog("crear_base_modelo(): Creado base de datos modelo: $filesql"); if ($filesql == "") return false; else - return executeDump(AlbaPath() . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'sql' . DIRECTORY_SEPARATOR .$filesql, $host, $user, $pass, $db); - + return executeDump(AlbaPath() . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'sql' . DIRECTORY_SEPARATOR .$filesql, $protocol, $host, $user, $pass, $db); } /** @@ -212,4 +340,54 @@ return false; } + +function build_model() { + chdir('../../'); + define('SF_ROOT_DIR', realpath(dirname(__FILE__).'/../..')); + define('SF_APP', 'principal'); + define('SF_ENVIRONMENT', 'dev'); + define('SF_DEBUG', true); + define('STDOUT',''); + define('STDERR',''); + + require_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.SF_APP.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'config.php'); + + require_once($sf_symfony_lib_dir.'/vendor/pake/pakeFunction.php'); + require_once($sf_symfony_lib_dir.'/vendor/pake/pakeGetopt.class.php'); + + + $dirs = array( + sfConfig::get('sf_data_dir').DIRECTORY_SEPARATOR.'tasks' => 'myPake*.php', // project tasks + sfConfig::get('sf_symfony_data_dir').DIRECTORY_SEPARATOR.'tasks' => 'sfPake*.php', // symfony tasks + sfConfig::get('sf_root_dir').'/plugins/*/data/tasks' => '*.php', // plugin tasks + ); + + foreach ($dirs as $globDir => $name) + { + if ($dirs = glob($globDir)) + { + $tasks = pakeFinder::type('file')->name($name)->in($dirs); + foreach ($tasks as $task) + { + include_once($task); + } + } + } + $pake = pakeApp::get_instance(); + + try + { +// $ret = $pake->run(sfConfig::get('sf_root_dir').'/plugins/albaTasks/data/tasks/albaTasks.php', 'alba-build-model', true); + $ret = $pake->run(sfConfig::get('sf_symfony_data_dir').DIRECTORY_SEPARATOR.'tasks'.DIRECTORY_SEPARATOR.'sfPakePropel.php', array('propel-build-model','--quiet') , true); + } + catch (pakeException $e) + { + print "<strong>ERROR</strong>: ".$e->getMessage(); + } + +} + + + + ?> \ No newline at end of file Modified: prosistem/alba/trunk/alba/web/instalar/instalar.php =================================================================== --- prosistem/alba/trunk/alba/web/instalar/instalar.php 2008-02-07 01:17:13 UTC (rev 5447) +++ prosistem/alba/trunk/alba/web/instalar/instalar.php 2008-02-07 01:20:36 UTC (rev 5448) @@ -68,13 +68,13 @@ <h1>Instalación de ALBA</h1> </div> <div id="contenido"> - <?php if (file_exists(AlbaPath() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR .'databases.yml')): ?> + <?php if (file_exists(AlbaPath() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR .'databases.yml') OR file_exists(AlbaPath() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR .'propel.ini')): ?> <?php $error_flag = true;?> <?php DebugLog("Ya existe un archivo de configuracion - Instalacion Abortada.")?> <p>El sistema se encuentra instalado.</p> <p>Si desea volver a iniciar la instalación, por favor elimine el archivo - de configuracion <b>databases.yml</b> que<br/> - se encuentra en el directorio de <b>config</b> de la aplicación. + de configuracion <b>databases.yml</b> y <b>propel.ini</b> que<br/> + se encuentran en el directorio de <b>config</b> de la aplicación. </p> <?php else: ?> Modified: prosistem/alba/trunk/alba/web/instalar/paso1.php =================================================================== --- prosistem/alba/trunk/alba/web/instalar/paso1.php 2008-02-07 01:17:13 UTC (rev 5447) +++ prosistem/alba/trunk/alba/web/instalar/paso1.php 2008-02-07 01:20:36 UTC (rev 5448) @@ -33,6 +33,7 @@ if (!defined('ALBA_INSTALLER')) die(); $dirs = array( + 'lib'. DIRECTORY_SEPARATOR .'model', 'config', 'cache', 'log', Modified: prosistem/alba/trunk/alba/web/instalar/paso3.php =================================================================== --- prosistem/alba/trunk/alba/web/instalar/paso3.php 2008-02-07 01:17:13 UTC (rev 5447) +++ prosistem/alba/trunk/alba/web/instalar/paso3.php 2008-02-07 01:20:36 UTC (rev 5448) @@ -36,6 +36,7 @@ $cnx_error_msg = ""; //errores de base de datos $error_flag = false; // error en el paso del instalador +$tipo_motor_base = ""; $host = ""; $user = ""; $pass = ""; @@ -44,52 +45,109 @@ if (isset($_POST['test_conn']) && $_POST['test_conn']==1) { //obtenidno datos del form + + $tipo_motor_base = $_POST['tipo_motor_base']; $host = $_POST['host']; $user = $_POST['user']; $pass = $_POST['pass']; $db = $_POST['db']; $creardb = (isset($_POST['creardb']) && $_POST['creardb'] == 1); - + //probado conexion DebugLog('Probando conexión'); - $conn = @mysql_connect($host,$user,$pass); - if (!$conn) { + + //Todo este codigo podria ser mejorado integrando PDO (a partir de PHP 5.1) + //ya que no habria que repetir codigo + + //comprueba si completo opcion de motor de base de datos + if($tipo_motor_base != 'mysql' AND $tipo_motor_base != 'pgsql') { $error_flag = true; $cnx_error_flag = true; - $cnx_error_msg = "No se puede conectar a la base de datos: <br>" . mysql_error(); + $cnx_error_msg = "No se sabe cual es el motor de bases de datos <br>"; DebugLog('Error al conectar con la base de datos','E'); - } - else { - //crear base si es necesario - if ($creardb) { - DebugLog('Probando crear base de datos...'); - $ret = @mysql_query('CREATE DATABASE ' . $db , $conn); - if (!$ret) { + } else { + if($tipo_motor_base == 'mysql') { + $conn = @mysql_connect($host,$user,$pass); + if (!$conn) { $error_flag = true; $cnx_error_flag = true; - $cnx_error_msg = "No se puede crear la base de datos: <br>" . mysql_error(); - DebugLog('No se puede crear la base de datos: ' . mysql_error() ,'E'); + $cnx_error_msg = "No se puede conectar a la base de datos: <br>" . mysql_error(); + DebugLog('Error al conectar con la base de datos','E'); + } else { + //crear base si es necesario + if ($creardb) { + DebugLog('Probando crear base de datos...'); + $ret = @mysql_query('CREATE DATABASE ' . $db , $conn); + if (!$ret) { + $error_flag = true; + $cnx_error_flag = true; + $cnx_error_msg = "No se puede crear la base de datos: <br>" . mysql_error(); + DebugLog('No se puede crear la base de datos: ' . mysql_error() ,'E'); + } else { + DebugLog("Base de datos $db creada correctamente"); + } + } else { + DebugLog("No se creara una base de datos"); + } + + //conectado a la base + $ret = @mysql_select_db($db); + if (!$ret) { + $error_flag = true; + $cnx_error_flag = true; + $cnx_error_msg = "No es posible utilizar la base $db: " . mysql_error(); + DebugLog("No es posible conectar a la base de datos $db: " . mysql_error(), 'E'); + } + mysql_close($conn); } - else { - DebugLog("Base de datos $db creada correctamente"); + + } + + + // Si es Postgresql + if($tipo_motor_base == 'pgsql') { + $conn = @pg_connect("host=$host user=$user password=$pass port=5432"); + if (!$conn) { + $error_flag = true; + $cnx_error_flag = true; + $cnx_error_msg = "No se puede conectar a la base de datos: <br>"; + DebugLog('Error al conectar con la base de datos','E'); + } else { + //crear base si es necesario + if ($creardb) { + DebugLog('Probando crear base de datos...'); + $ret = @pg_query($conn, 'CREATE DATABASE ' . $db); + if (!$ret) { + $error_flag = true; + $cnx_error_flag = true; + $cnx_error_msg = "No se puede crear la base de datos: <br>" . pg_last_error($conn); + DebugLog('No se puede crear la base de datos: ' . pg_last_error($conn) ,'E'); + } else { + DebugLog("Base de datos $db creada correctamente"); + } + } else { + DebugLog("No se creara una base de datos"); + } + + pg_close($conn); + + $conn = pg_connect("host=$host user=$user password=$pass port=5432 dbname=$db"); + //conectado a la base + if (!$conn) { + $error_flag = true; + $cnx_error_flag = true; + $cnx_error_msg = "No es posible utilizar la base $db: "; + DebugLog("No es posible conectar a la base de datos $db", 'E'); + } + pg_close($conn); + } } - else { - DebugLog("No se creara una base de datos"); - } - - //conectado a la base - $ret = @mysql_select_db($db); - if (!$ret) { - $error_flag = true; - $cnx_error_flag = true; - $cnx_error_msg = "No es posible utilizar la base $db: " . mysql_error(); - DebugLog("No es posible conectar a la base de datos $db: " . mysql_error(), 'E'); - } - + + $_SESSION['albainstall']['tipo_motor_base'] = $tipo_motor_base; $_SESSION['albainstall']['host'] = $host; - $_SESSION['albainstall']['user'] = $user; - $_SESSION['albainstall']['pass'] = $pass; + $_SESSION['albainstall']['user'] = $user; + $_SESSION['albainstall']['pass'] = $pass; $_SESSION['albainstall']['db'] = $db; $_SESSION['albainstall']['creardb'] = $creardb; } @@ -109,7 +167,13 @@ <form name="test_conn" method="post"> <input type="hidden" name="test_conn" value="1"> <table> + <tr> + <td>Motor de bases de datos: </td> + <td>Mysql<input type="radio" name="tipo_motor_base" value="mysql" <?php echo isset($tipo_motor_base) && $tipo_motor_base == 'mysql' ? 'checked' : ''?> > + Postgresql<input type="radio" name="tipo_motor_base" value="pgsql" <?php echo isset($tipo_motor_base) && $tipo_motor_base == 'pgsql' ? 'checked' : ''?> ></td> + </tr> + <tr> <td>Servidor:</td> <td><input type="text" name="host" value="<?php echo $host?>" class="texto"></td> </tr> Modified: prosistem/alba/trunk/alba/web/instalar/paso4.php =================================================================== --- prosistem/alba/trunk/alba/web/instalar/paso4.php 2008-02-07 01:17:13 UTC (rev 5447) +++ prosistem/alba/trunk/alba/web/instalar/paso4.php 2008-02-07 01:20:36 UTC (rev 5448) @@ -32,6 +32,7 @@ if (!defined('ALBA_INSTALLER')) die(); + $tipo_motor_base = $_SESSION['albainstall']['tipo_motor_base']; $host = $_SESSION['albainstall']['host']; $user = $_SESSION['albainstall']['user']; $pass = $_SESSION['albainstall']['pass']; @@ -74,11 +75,13 @@ <td>Datos mínimos:</td> <td><input type="radio" name="tipo_base" value="minima" <?php echo isset($_POST['tipo_base']) && $_POST['tipo_base'] == 'minima' ? 'checked' : ''?> ></td> </tr> +<?php if($tipo_motor_base != 'pgsql'): //Provisoria mientras no funcione los datos de ejemplo desde el YML ?> <tr> <td>Datos ejemplo:</td> <td><input type="radio" name="tipo_base" value="ejemplo1" <?php echo isset($_POST['tipo_base']) && $_POST['tipo_base'] == 'ejemplo1' ? 'checked' : ''?>></td> </tr> - +<?php endif; ?> + </table> <br/> <input type="submit" name="btEnviar" value="Seleccionar base de datos" class="boton"> Modified: prosistem/alba/trunk/alba/web/instalar/paso5.php =================================================================== --- prosistem/alba/trunk/alba/web/instalar/paso5.php 2008-02-07 01:17:13 UTC (rev 5447) +++ prosistem/alba/trunk/alba/web/instalar/paso5.php 2008-02-07 01:20:36 UTC (rev 5448) @@ -56,6 +56,10 @@ <table> <tr> + <td>Motor de base de datos:</td> + <td><?php echo $_SESSION['albainstall']['tipo_motor_base']?></td> + </tr> + <tr> <td>Servidor:</td> <td><?php echo $_SESSION['albainstall']['host']?></td> </tr> Modified: prosistem/alba/trunk/alba/web/instalar/paso6.php =================================================================== --- prosistem/alba/trunk/alba/web/instalar/paso6.php 2008-02-07 01:17:13 UTC (rev 5447) +++ prosistem/alba/trunk/alba/web/instalar/paso6.php 2008-02-07 01:20:36 UTC (rev 5448) @@ -32,6 +32,7 @@ if (!defined('ALBA_INSTALLER')) die(); +$tipo_motor_base = $_SESSION['albainstall']['tipo_motor_base']; $host = $_SESSION['albainstall']['host']; $user = $_SESSION['albainstall']['user']; $pass = $_SESSION['albainstall']['pass']; @@ -45,10 +46,10 @@ <table> <tr> - <td>Generando archivo de configuración:</td> + <td>Generando archivo de configuración de acceso a base de datos:</td> <td> <?php - $ret = generate_databases_yml($host,$user,$pass,$db); + $ret = generate_databases_yml($tipo_motor_base,$host,$user,$pass,$db); echo $ret ? IMG_OK : IMG_ERROR; if (!$ret) { $error_flag = true; @@ -57,11 +58,51 @@ ?> </td> </tr> + + <tr> + <td>Generando archivo de configuración para las tareas:</td> + <td> + <?php + $ret = generate_propel_ini($tipo_motor_base,$host,$user,$pass,$db); + echo $ret ? IMG_OK : IMG_ERROR; + if (!$ret) { + $error_flag = true; + DebugLog("Error al generar archivo propel.ini","E"); + } + ?> + </td> + </tr> + + + + <tr> + <td>Generando modelo de la base de datos:</td> + <td> +<!-- + <div style="visibility: hidden;"> + <?php + $ret = build_model(); + ?> + </div> +--> + <?php echo IMG_OK; ?> + </td> + </tr> + + + + <tr> <td>Creando esquema de base de datos:</td> <td> <?php - $ret = crear_schema('lib.model.schema.sql', $host, $user, $pass, $db); + + if($tipo_motor_base == 'mysql') { + $ret = crear_schema('lib.model.schema.mysql.sql', $tipo_motor_base, $host, $user, $pass, $db); + } else { + $ret = crear_schema('lib.model.schema.pgsql.sql', $tipo_motor_base, $host, $user, $pass, $db); + } + echo $ret ? IMG_OK : IMG_ERROR; if (!$ret) { $error_flag = true; @@ -74,15 +115,25 @@ <td>Cargando modelo de base de datos <?php echo $_SESSION['albainstall']['tipo_base']?>:</td> <td> <?php - if ($_SESSION['albainstall']['tipo_base'] =='minima') - $archivo = "datos_desde_cero.sql"; - elseif ($_SESSION['albainstall']['tipo_base'] =='ejemplo1') - $archivo = "datos_ejemplo.sql"; + if ($_SESSION['albainstall']['tipo_base'] == 'minima') + if($_SESSION['albainstall']['tipo_motor_base'] == 'mysql') + $archivo = "datos_desde_cero.sql"; + elseif ($_SESSION['albainstall']['tipo_motor_base'] == 'pgsql') + $archivo = "datos_desde_cero.sql"; + else + $archivo = ""; + elseif ($_SESSION['albainstall']['tipo_base'] == 'ejemplo1') + if($_SESSION['albainstall']['tipo_motor_base'] == 'mysql') + $archivo = "datos_ejemplo.sql"; + elseif ($_SESSION['albainstall']['tipo_motor_base'] == 'pgsql') + $archivo = "datos_ejemplo.pgsql.sql"; + else + $archivo = ""; else $archivo = ""; ?> <?php - $ret = crear_base_modelo($archivo,$host,$user,$pass,$db); + $ret = crear_base_modelo($archivo, $tipo_motor_base, $host, $user, $pass, $db); echo $ret ? IMG_OK : IMG_ERROR; if (!$ret) { $error_flag = true;