cambio en guardar el id del cuestionario en las

tablas de cuestionario
This commit is contained in:
Your Name
2025-01-27 15:17:51 -06:00
parent 8c992c29c4
commit 07ec951c8c
10 changed files with 1030 additions and 138 deletions
+37
View File
@@ -0,0 +1,37 @@
-- 1) Insertar un par de servicios
--INSERT INTO servicio VALUES ('094123123123','ferelena27@gmail.com','5538836200','Calle D #43 Colonia Modelo, Naucalpan de Juárez, Edo Mex.','2020-01-28 00:00:00','2020-07-28 00:00:00','1996-06-27 00:00:00','1zAAbHd2Gn8E7JougyynxHVLFJCHYM4U7','1ygjJyezG88X6qd-wV3i7PMDfW7yDGAbJ','1qzgUwhXqCRXPiYd0w8TADWB2Ja-0Geqy','1i-mmx-hlOVcdYHxoNM8ym96pwL2YQKxP','servicio y asesoría de cómputo','Lic. Araceli Pérez Palma',1,'2020-03-04 19:25:19','2021-04-26 19:21:57',2990,1,6,28,872,835,'2021-04-26 19:21:56');
--INSERT INTO servicio VALUES ('091234123123','ferelena27@gmail.com','5538836200','Calle D #43 Colonia Modelo, Naucalpan de Juárez, Edo Mex.','2020-01-28 00:00:00','2020-07-28 00:00:00','1996-06-27 00:00:00','1zAAbHd2Gn8E7JougyynxHVLFJCHYM4U7','1ygjJyezG88X6qd-wV3i7PMDfW7yDGAbJ','1qzgUwhXqCRXPiYd0w8TADWB2Ja-0Geqy','1i-mmx-hlOVcdYHxoNM8ym96pwL2YQKxP','servicio y asesoría de cómputo','Lic. Araceli Pérez Palma',1,'2020-03-04 19:25:19','2021-04-26 19:21:57',2990,1,6,28,872,835,'2021-04-26 19:21:56');
-- 2) Insertar cuestionarios, cada uno asociado a un servicio
INSERT INTO Cuestionario (
idServicio, version, titulo, `desc`, dirigidoA, createdAt
) VALUES
(1, 'v1.0', 'Cuestionario Inicial', 'Descripción breve', 'Alumnos', NOW()),
(2, 'v2.0', 'Cuestionario Avanzado', 'Otro cuestionario', 'Programas', '2025-01-23 10:25:00');
-- 3) Insertar en cuestionario_alumno_2
INSERT INTO cuestionario_alumno_2 (
idCuestionario,
createdAt,
p12_A_1,
p12_A_2,
p12_A_3,
p12_A_4,
p12_B_1,
p12_B_2
) VALUES
(1, NOW(), 'respuesta1', 'respuesta2', 'respuesta3', 'respuesta4', 'respuesta5', 'respuesta6'),
(1, '2025-01-23 11:00:00', 'respA', 'respB', 'respC', 'respD', 'respE', 'respF');
-- 4) Insertar en cuestionario_programa_2
INSERT INTO cuestionario_programa_2 (
idCuestionario,
createdAt,
p3_A_1,
p3_A_2,
p3_A_3,
p3_A_4,
p3_B_1
) VALUES
(2, NOW(), 'respuesta1', 'respuesta2', 'respuesta3', 'respuesta4', 'respuesta5'),
(2, '2025-01-23 12:15:00', 'respX', 'respY', 'respZ', 'respW', 'respQ');
+5
View File
@@ -19,6 +19,11 @@
-- Table structure for table `carrera`
--
drop database servicio_test;
create database servicio_test;
use servicio_test;
DROP TABLE IF EXISTS `carrera`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
+494
View File
@@ -0,0 +1,494 @@
-- MariaDB dump 10.17 Distrib 10.4.10-MariaDB, for Win64 (AMD64)
--
-- Host: 132.248.180.82 Database: Iris_Produccion
-- ------------------------------------------------------
-- Server version 10.6.7-MariaDB
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `carrera`
--
DROP TABLE IF EXISTS `carrera`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `carrera` (
`idCarrera` int(11) NOT NULL AUTO_INCREMENT,
`carrera` varchar(50) NOT NULL,
PRIMARY KEY (`idCarrera`),
UNIQUE KEY `idCarrera` (`idCarrera`)
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `carrera`
--
LOCK TABLES `carrera` WRITE;
/*!40000 ALTER TABLE `carrera` DISABLE KEYS */;
/*!40000 ALTER TABLE `carrera` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `caso_especial`
--
DROP TABLE IF EXISTS `caso_especial`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `caso_especial` (
`idCasoEspecial` int(11) NOT NULL AUTO_INCREMENT,
`creditos` varchar(3) NOT NULL,
`correo` varchar(60) NOT NULL,
`telefono` varchar(15) NOT NULL,
`institucion` varchar(200) DEFAULT NULL,
`dependencia` varchar(200) DEFAULT NULL,
`motivo` varchar(1) DEFAULT NULL,
`direccion` varchar(200) NOT NULL,
`fechaInicio` datetime NOT NULL,
`fechaFin` datetime NOT NULL,
`fechaNacimiento` datetime NOT NULL,
`carpeta` varchar(60) NOT NULL,
`archivoZip` varchar(60) NOT NULL,
`createdAt` datetime NOT NULL,
`updatedAt` datetime NOT NULL,
`idUsuario` int(11) NOT NULL,
`idCarrera` int(11) NOT NULL,
`idStatus` int(11) NOT NULL DEFAULT 1,
PRIMARY KEY (`idCasoEspecial`),
UNIQUE KEY `idCasoEspecial` (`idCasoEspecial`),
KEY `idUsuario` (`idUsuario`),
KEY `idCarrera` (`idCarrera`),
KEY `idStatus` (`idStatus`),
CONSTRAINT `caso_especial_ibfk_1` FOREIGN KEY (`idUsuario`) REFERENCES `usuario` (`idUsuario`) ON DELETE NO ACTION ON UPDATE CASCADE,
CONSTRAINT `caso_especial_ibfk_2` FOREIGN KEY (`idCarrera`) REFERENCES `carrera` (`idCarrera`) ON DELETE NO ACTION ON UPDATE CASCADE,
CONSTRAINT `caso_especial_ibfk_3` FOREIGN KEY (`idStatus`) REFERENCES `status` (`idStatus`) ON DELETE NO ACTION ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=392 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `caso_especial`
--
LOCK TABLES `caso_especial` WRITE;
/*!40000 ALTER TABLE `caso_especial` DISABLE KEYS */;
/*!40000 ALTER TABLE `caso_especial` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `cuestionario_alumno`
--
DROP TABLE IF EXISTS `cuestionario_alumno`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `cuestionario_alumno` (
`idCuestionarioAlumno` int(11) NOT NULL AUTO_INCREMENT,
`sexo` varchar(1) NOT NULL,
`edad` varchar(2) NOT NULL,
`servicioMedico` varchar(100) NOT NULL,
`p1` tinyint(1) NOT NULL,
`p2` tinyint(1) NOT NULL,
`p3` varchar(150) NOT NULL,
`p4` tinyint(1) NOT NULL,
`p5` varchar(7) NOT NULL,
`p6` tinyint(1) NOT NULL,
`p7` tinyint(1) NOT NULL,
`p8` varchar(5) NOT NULL,
`p9` tinyint(1) NOT NULL,
`p10` tinyint(1) NOT NULL,
`p11` tinyint(1) NOT NULL,
`p12` tinyint(1) NOT NULL,
`p13` tinyint(1) NOT NULL,
`p14` varchar(7) NOT NULL,
`p15` varchar(7) NOT NULL,
`p16` varchar(2) NOT NULL,
`p17` varchar(5) NOT NULL,
`p18` tinyint(1) NOT NULL,
`p19` tinyint(1) NOT NULL,
`p20` tinyint(1) NOT NULL,
`p21` varchar(9) NOT NULL,
`p22` varchar(23) NOT NULL,
`p23` varchar(8) NOT NULL,
`p24` varchar(8) NOT NULL,
`p25` tinyint(1) NOT NULL,
`p26` tinyint(1) NOT NULL,
`p27` varchar(400) NOT NULL,
`p28` varchar(1) NOT NULL,
`p29` varchar(1) NOT NULL,
`p30` varchar(400) NOT NULL,
`createdAt` datetime NOT NULL,
PRIMARY KEY (`idCuestionarioAlumno`),
UNIQUE KEY `idCuestionarioAlumno` (`idCuestionarioAlumno`)
) ENGINE=InnoDB AUTO_INCREMENT=13564 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `cuestionario_alumno`
--
LOCK TABLES `cuestionario_alumno` WRITE;
/*!40000 ALTER TABLE `cuestionario_alumno` DISABLE KEYS */;
/*!40000 ALTER TABLE `cuestionario_alumno` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `cuestionario_programa`
--
DROP TABLE IF EXISTS `cuestionario_programa`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `cuestionario_programa` (
`idCuestionarioPrograma` int(11) NOT NULL AUTO_INCREMENT,
`actividad1` varchar(400) NOT NULL,
`actividad2` varchar(400) NOT NULL,
`actividad3` varchar(400) NOT NULL,
`actividad4` varchar(400) NOT NULL,
`actividad5` varchar(400) NOT NULL,
`retroalimentacion` varchar(9) NOT NULL,
`p6` varchar(800) DEFAULT NULL,
`p7` varchar(800) NOT NULL,
`createdAt` datetime NOT NULL,
PRIMARY KEY (`idCuestionarioPrograma`),
UNIQUE KEY `idCuestionarioPrograma` (`idCuestionarioPrograma`)
) ENGINE=InnoDB AUTO_INCREMENT=13582 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `cuestionario_programa`
--
LOCK TABLES `cuestionario_programa` WRITE;
/*!40000 ALTER TABLE `cuestionario_programa` DISABLE KEYS */;
/*!40000 ALTER TABLE `cuestionario_programa` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `programa`
--
DROP TABLE IF EXISTS `programa`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `programa` (
`idPrograma` int(11) NOT NULL AUTO_INCREMENT,
`institucion` varchar(120) NOT NULL,
`dependencia` varchar(120) NOT NULL,
`programa` varchar(280) NOT NULL,
`clavePrograma` varchar(20) NOT NULL,
`acatlan` tinyint(1) NOT NULL DEFAULT 0,
`activo` tinyint(1) NOT NULL DEFAULT 1,
`idUsuario` int(11) NOT NULL,
PRIMARY KEY (`idPrograma`),
UNIQUE KEY `idPrograma` (`idPrograma`),
KEY `idUsuario` (`idUsuario`),
CONSTRAINT `programa_ibfk_1` FOREIGN KEY (`idUsuario`) REFERENCES `usuario` (`idUsuario`) ON DELETE NO ACTION ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=11518 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `programa`
--
LOCK TABLES `programa` WRITE;
/*!40000 ALTER TABLE `programa` DISABLE KEYS */;
/*!40000 ALTER TABLE `programa` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `servicio`
--
DROP TABLE IF EXISTS `servicio`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `servicio` (
`idServicio` int(11) NOT NULL AUTO_INCREMENT,
`creditos` varchar(3) NOT NULL,
`correo` varchar(60) NOT NULL,
`telefono` varchar(15) DEFAULT NULL,
`direccion` varchar(200) DEFAULT NULL,
`fechaInicio` datetime NOT NULL,
`fechaFin` datetime NOT NULL,
`fechaNacimiento` datetime DEFAULT NULL,
`carpeta` varchar(60) NOT NULL,
`cartaAceptacion` varchar(60) NOT NULL,
`cartaTermino` varchar(60) DEFAULT NULL,
`informeGlobal` varchar(60) DEFAULT NULL,
`programaInterno` varchar(250) DEFAULT NULL,
`profesor` varchar(50) DEFAULT NULL,
`vistoBuenoAcatlan` tinyint(1) DEFAULT NULL,
`createdAt` datetime NOT NULL,
`updatedAt` datetime NOT NULL,
`idUsuario` int(11) NOT NULL,
`idCarrera` int(11) NOT NULL,
`idStatus` int(11) NOT NULL DEFAULT 1,
`idPrograma` int(11) NOT NULL,
`idCuestionarioAlumno` int(11) DEFAULT NULL,
`idCuestionarioPrograma` int(11) DEFAULT NULL,
`fechaLiberacion` datetime DEFAULT NULL,
PRIMARY KEY (`idServicio`),
UNIQUE KEY `idServicio` (`idServicio`),
KEY `idUsuario` (`idUsuario`),
KEY `idCarrera` (`idCarrera`),
KEY `idStatus` (`idStatus`),
KEY `idPrograma` (`idPrograma`),
KEY `idCuestionarioAlumno` (`idCuestionarioAlumno`),
KEY `idCuestionarioPrograma` (`idCuestionarioPrograma`),
CONSTRAINT `servicio_ibfk_1` FOREIGN KEY (`idUsuario`) REFERENCES `usuario` (`idUsuario`) ON DELETE NO ACTION ON UPDATE CASCADE,
CONSTRAINT `servicio_ibfk_2` FOREIGN KEY (`idCarrera`) REFERENCES `carrera` (`idCarrera`) ON DELETE NO ACTION ON UPDATE CASCADE,
CONSTRAINT `servicio_ibfk_3` FOREIGN KEY (`idStatus`) REFERENCES `status` (`idStatus`) ON DELETE NO ACTION ON UPDATE CASCADE,
CONSTRAINT `servicio_ibfk_4` FOREIGN KEY (`idPrograma`) REFERENCES `programa` (`idPrograma`) ON DELETE NO ACTION ON UPDATE CASCADE,
CONSTRAINT `servicio_ibfk_5` FOREIGN KEY (`idCuestionarioAlumno`) REFERENCES `cuestionario_alumno` (`idCuestionarioAlumno`) ON DELETE SET NULL ON UPDATE CASCADE,
CONSTRAINT `servicio_ibfk_6` FOREIGN KEY (`idCuestionarioPrograma`) REFERENCES `cuestionario_programa` (`idCuestionarioPrograma`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=17310 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `servicio`
--
LOCK TABLES `servicio` WRITE;
/*!40000 ALTER TABLE `servicio` DISABLE KEYS */;
/*!40000 ALTER TABLE `servicio` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `status`
--
DROP TABLE IF EXISTS `status`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `status` (
`idStatus` int(11) NOT NULL AUTO_INCREMENT,
`status` varchar(30) NOT NULL,
PRIMARY KEY (`idStatus`),
UNIQUE KEY `idStatus` (`idStatus`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `status`
--
LOCK TABLES `status` WRITE;
/*!40000 ALTER TABLE `status` DISABLE KEYS */;
/*!40000 ALTER TABLE `status` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `tipo_usuario`
--
DROP TABLE IF EXISTS `tipo_usuario`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `tipo_usuario` (
`idTipoUsuario` int(11) NOT NULL AUTO_INCREMENT,
`tipoUsuario` varchar(15) NOT NULL,
PRIMARY KEY (`idTipoUsuario`),
UNIQUE KEY `idTipoUsuario` (`idTipoUsuario`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `tipo_usuario`
--
LOCK TABLES `tipo_usuario` WRITE;
/*!40000 ALTER TABLE `tipo_usuario` DISABLE KEYS */;
/*!40000 ALTER TABLE `tipo_usuario` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `usuario`
--
DROP TABLE IF EXISTS `usuario`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `usuario` (
`idUsuario` int(11) NOT NULL AUTO_INCREMENT,
`usuario` varchar(100) NOT NULL,
`password` varchar(60) DEFAULT NULL,
`nombre` varchar(70) DEFAULT NULL,
`activo` tinyint(1) NOT NULL,
`idTipoUsuario` int(11) NOT NULL,
PRIMARY KEY (`idUsuario`),
UNIQUE KEY `idUsuario` (`idUsuario`),
UNIQUE KEY `usuario` (`usuario`),
KEY `idTipoUsuario` (`idTipoUsuario`),
CONSTRAINT `usuario_ibfk_1` FOREIGN KEY (`idTipoUsuario`) REFERENCES `tipo_usuario` (`idTipoUsuario`) ON DELETE NO ACTION ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=19930 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `usuario`
--
LOCK TABLES `usuario` WRITE;
/*!40000 ALTER TABLE `usuario` DISABLE KEYS */;
/*!40000 ALTER TABLE `usuario` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Dumping routines for database 'Iris_Produccion'
--
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2025-01-12 23:25:49
/* CREATE TABLE `servicio` (
`idServicio` INT PRIMARY KEY
); */
DROP TABLE IF EXISTS `Cuestionario`;
CREATE TABLE `Cuestionario` (
`idCuestionario` INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
`idCuestionarioAlumno` INT, -- Agregado para relación con alumnos
`idCuestionarioPrograma` INT, -- Agregado para relación con programas
`idCuestionarioAlumno1` INT, -- Agregado para relación con alumnos
`idCuestionarioPrograma1` INT, -- Agregado para relación con programas
`idServicio` INT,
`version` VARCHAR(50),
`titulo` VARCHAR(50),
`desc` VARCHAR(50),
`dirigidoA` VARCHAR(50),
`createdAt` DATETIME
);
DROP TABLE IF EXISTS `cuestionario_alumno_2`;
CREATE TABLE `cuestionario_alumno_2` (
`idCuestionarioAlumno2` INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
`createdAt` DATETIME,
`p12_A_1` VARCHAR(50),
`p12_A_2` VARCHAR(50),
`p12_A_3` VARCHAR(50),
`p12_A_4` VARCHAR(50),
`p12_B_1` VARCHAR(50),
`p12_B_2` VARCHAR(50),
`p12_B_3` VARCHAR(50),
`p12_B_4` VARCHAR(50),
`p12_C_1` VARCHAR(50),
`p12_C_2` VARCHAR(50),
`p12_C_3` VARCHAR(50),
`p12_C_4` VARCHAR(50),
`p10_1` VARCHAR(50),
`p10_2` VARCHAR(50),
`p10_3` VARCHAR(50),
`p11_1` VARCHAR(50),
`p11_2` VARCHAR(50),
`p11_3` VARCHAR(50),
`p11_4` VARCHAR(50),
`p17_1` VARCHAR(50),
`p17_2` VARCHAR(50),
`p17_3` VARCHAR(50),
`p3_1` VARCHAR(50),
`p3_2` VARCHAR(50),
`p3_3` VARCHAR(50),
`p3_4` VARCHAR(50),
`p12_D_1` VARCHAR(50),
`p12_D_2` VARCHAR(50),
`p12_D_3` VARCHAR(50),
`p12_D_4` VARCHAR(50),
`p12_D_5` VARCHAR(50),
`p1` VARCHAR(150),
`p2` VARCHAR(50),
`p4` VARCHAR(50),
`p5` VARCHAR(50),
`p6` VARCHAR(50),
`p7` VARCHAR(50),
`p8` VARCHAR(50),
`p9` VARCHAR(50),
`p13` VARCHAR(50),
`p14` VARCHAR(50),
`p15` VARCHAR(50),
`p16` VARCHAR(50),
`p18` VARCHAR(50)
);
DROP TABLE IF EXISTS `cuestionario_programa_2`;
CREATE TABLE `cuestionario_programa_2` (
`idCuestionarioPrograma2` INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
`createdAt` DATETIME,
`p3_A_1` VARCHAR(50),
`p3_A_2` VARCHAR(50),
`p3_A_3` VARCHAR(50),
`p3_A_4` VARCHAR(50),
`p3_B_1` VARCHAR(50),
`p3_B_2` VARCHAR(50),
`p3_B_3` VARCHAR(50),
`p3_B_4` VARCHAR(50),
`p3_C_1` VARCHAR(50),
`p3_C_2` VARCHAR(50),
`p3_C_3` VARCHAR(50),
`p3_C_4` VARCHAR(50),
`p3_C_5` VARCHAR(50),
`p3_D_1` VARCHAR(50),
`p3_D_2` VARCHAR(50),
`p3_D_3` VARCHAR(50),
`p3_D_4` VARCHAR(50),
`p3_D_5` VARCHAR(50),
`p3_E_1` VARCHAR(50),
`p1` VARCHAR(50),
`p2` VARCHAR(50),
`p4` VARCHAR(50),
`p5` VARCHAR(50),
`p6` VARCHAR(50)
);
-- Relaciones corregidas
ALTER TABLE `Cuestionario`
ADD FOREIGN KEY (`idServicio`) REFERENCES `servicio` (`idServicio`);
ALTER TABLE `Cuestionario`
ADD FOREIGN KEY (`idCuestionarioAlumno`) REFERENCES `cuestionario_alumno_2` (`idCuestionarioAlumno2`);
ALTER TABLE `Cuestionario`
ADD FOREIGN KEY (`idCuestionarioPrograma`) REFERENCES `cuestionario_programa_2` (`idCuestionarioPrograma2`);
ALTER TABLE `Cuestionario`
ADD FOREIGN KEY (`idCuestionarioAlumno1`) REFERENCES `cuestionario_alumno` (`idCuestionarioAlumno`);
ALTER TABLE `Cuestionario`
ADD FOREIGN KEY (`idCuestionarioPrograma1`) REFERENCES `cuestionario_programa` (`idCuestionarioPrograma`);
@@ -66,7 +66,7 @@ const nuevo = async (body) => {
// throw new Error('Id status no valido.'); // si no coincide con nada, error por defecto
Cuestionario.findOne({});
// Cuestionario.findOne({});
let dataCuestionario = await Cuestionario.findOne({
where: { idServicio, dirigidoA: 'estudiantes' },
@@ -77,12 +77,10 @@ const nuevo = async (body) => {
throw new Error('Ya existe un cuestionario para este servicio social');
}
let respuestasRegistradas = await CuestionarioAlumno2.create({ ...body });
console.log('despues de registrar cuestionario', respuestasRegistradas);
let cuestionarioRegistro = await Cuestionario.create({
idServicio,
idCuestionarioAlumno: respuestasRegistradas.idCuestionarioAlumno,
// idCuestionarioAlumno: respuestasRegistradas.idCuestionarioAlumno,
version: '2',
dirigidoA: 'estudiantes',
titulo: 'Cuestionario de Alumn v2',
@@ -90,6 +88,13 @@ const nuevo = async (body) => {
createdAt: new Date(),
});
console.log("datos a registrar en la tabla cuestionarioAlumno2", { ...body, idCuestionario: cuestionarioRegistro.idCuestionario } );
let respuestasRegistradas = await CuestionarioAlumno2.create({ ...body, idCuestionario: cuestionarioRegistro.idCuestionario });
console.log('despues de registrar cuestionario', respuestasRegistradas);
console.log('cuestionario registrado', cuestionarioRegistro);
return cuestionarioRegistro;
@@ -57,6 +57,10 @@ const nuevo = async (body) => {
throw new Error(messageByStatus[res.idStatus]); */
// throw new Error('Id status no valido.'); // si no coincide con nada, error por defecto
let dataCuestionario = await Cuestionario.findOne({
where: { idServicio, dirigidoA: 'programas' },
});
@@ -66,14 +70,9 @@ const nuevo = async (body) => {
throw new Error('Ya existe un cuestionario para este servicio social');
}
let respuestasRegistradas = await CuestionarioPrograma2.create({
...body,
});
console.log('despues de registrar cuestionario', respuestasRegistradas);
// si el cuestionario ya existe solo hay que actualizar el id de cuestionarioprograma o alumno
let cuestionarioRegistro = await Cuestionario.create({
idServicio,
idCuestionarioPrograma: respuestasRegistradas.idCuestionarioPrograma,
@@ -86,6 +85,21 @@ const nuevo = async (body) => {
console.log('cuestionario registrado', cuestionarioRegistro);
let respuestasRegistradas = await CuestionarioPrograma2.create({
...body,
idCuestionario: cuestionarioRegistro.idCuestionario
});
console.log('despues de registrar cuestionario', respuestasRegistradas);
// si el cuestionario ya existe solo hay que actualizar el id de cuestionarioprograma o alumno
return cuestionarioRegistro;
})
+56 -8
View File
@@ -1,3 +1,5 @@
/*
const { DataTypes, Model } = require('sequelize');
const sequelize = require('../../config/sequelize.conf');
const Usuario = require('./Usuario');
@@ -27,14 +29,6 @@ Cuestionario.init(
idCuestionarioAlumno: {
type: DataTypes.INTEGER,
allowNull: true,
},
idCuestionarioPrograma: {
type: DataTypes.INTEGER,
allowNull: true,
},
version: {
@@ -69,6 +63,60 @@ Cuestionario.init(
Cuestionario.belongsTo(Servicio, { foreignKey: 'idServicio' });
Servicio.hasMany(Cuestionario, { foreignKey: 'idServicio' });
Cuestionario.belongsTo(CuestionarioAlumno2, { foreignKey: 'idCuestionarioAlumno2' });
CuestionarioAlumno2.hasOne(Cuestionario, { foreignKey: 'idCuestionarioAlumno2' });
Cuestionario.belongsTo(CuestionarioPrograma2, { foreignKey: 'idCuestionarioPrograma2' });
CuestionarioPrograma2.hasOne(Cuestionario, { foreignKey: 'idCuestionarioPrograma2' });
module.exports = Cuestionario;
*/
const { DataTypes, Model } = require('sequelize');
const sequelize = require('../../config/sequelize.conf');
const Servicio = require('./Servicio');
class Cuestionario extends Model {}
Cuestionario.init(
{
idCuestionario: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
},
idServicio: {
type: DataTypes.INTEGER,
allowNull: false,
references: {
model: Servicio,
key: 'idServicio',
},
},
version: DataTypes.STRING(50),
titulo: DataTypes.STRING(50),
desc: DataTypes.STRING(50),
dirigidoA: DataTypes.STRING(50),
createdAt: DataTypes.DATE,
},
{
sequelize,
modelName: 'Cuestionario',
tableName: 'Cuestionario',
timestamps: false,
}
);
Cuestionario.belongsTo(Servicio, { foreignKey: 'idServicio' });
Servicio.hasMany(Cuestionario, { foreignKey: 'idServicio' });
+267
View File
@@ -1,6 +1,12 @@
/*
const { DataTypes, Model } = require('sequelize');
const sequelize = require('../../config/sequelize.conf');
const Cuestionario = require('./Cuestionario');
class CuestionarioAlumno2 extends Model {}
CuestionarioAlumno2.init(
@@ -13,6 +19,18 @@ CuestionarioAlumno2.init(
autoIncrement: true,
},
idCuestionario: {
type: DataTypes.INTEGER,
allowNull: true,
},
p1: {
type: DataTypes.STRING(100),
allowNull: true,
@@ -213,4 +231,253 @@ CuestionarioAlumno2.init(
}
);
CuestionarioAlumno2.belongsTo(Cuestionario, { foreignKey: 'idCuestionario' });
Cuestionario.hasMany(CuestionarioAlumno2, { foreignKey: 'idCuestionario' });
module.exports = CuestionarioAlumno2;
*/
const { DataTypes, Model } = require('sequelize');
const sequelize = require('../../config/sequelize.conf');
class CuestionarioAlumno2 extends Model {}
CuestionarioAlumno2.init(
{
idCuestionarioAlumno2: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
},
idCuestionario: {
type: DataTypes.INTEGER,
allowNull: true,
},
p1: {
type: DataTypes.STRING(100),
allowNull: true,
},
p2: {
type: DataTypes.STRING(50),
allowNull: true,
},
p4: {
type: DataTypes.STRING(5),
allowNull: true,
},
p5: {
type: DataTypes.STRING(50),
allowNull: true,
},
p6: {
type: DataTypes.STRING(5),
allowNull: true,
},
p7: {
type: DataTypes.STRING(5),
allowNull: true,
},
p8: {
type: DataTypes.STRING(50),
allowNull: true,
},
p9: {
type: DataTypes.STRING(5),
allowNull: true,
},
// p3_*: se definen como string (el JSON trae si/no)
p3_1: {
type: DataTypes.STRING(5),
allowNull: true,
},
p3_2: {
type: DataTypes.STRING(5),
allowNull: true,
},
p3_3: {
type: DataTypes.STRING(5),
allowNull: true,
},
p3_4: {
type: DataTypes.STRING(5),
allowNull: true,
},
// p10_* y p11_*
p10_1: {
type: DataTypes.STRING(5),
allowNull: true,
},
p10_2: {
type: DataTypes.STRING(5),
allowNull: true,
},
p10_3: {
type: DataTypes.STRING(5),
allowNull: true,
},
p11_1: {
type: DataTypes.STRING(20),
allowNull: true,
},
p11_2: {
type: DataTypes.STRING(20),
allowNull: true,
},
p11_3: {
type: DataTypes.STRING(20),
allowNull: true,
},
p11_4: {
type: DataTypes.STRING(20),
allowNull: true,
},
// p12_A_*, p12_B_*, p12_C_*, p12_D_*
// Ajusta el tamaño de la cadena según requieras
p12_A_1: {
type: DataTypes.STRING(20),
allowNull: true,
},
p12_A_2: {
type: DataTypes.STRING(20),
allowNull: true,
},
p12_A_3: {
type: DataTypes.STRING(20),
allowNull: true,
},
p12_A_4: {
type: DataTypes.STRING(20),
allowNull: true,
},
p12_B_1: {
type: DataTypes.STRING(20),
allowNull: true,
},
p12_B_2: {
type: DataTypes.STRING(20),
allowNull: true,
},
p12_B_3: {
type: DataTypes.STRING(20),
allowNull: true,
},
p12_B_4: {
type: DataTypes.STRING(20),
allowNull: true,
},
p12_C_1: {
type: DataTypes.STRING(20),
allowNull: true,
},
p12_C_2: {
type: DataTypes.STRING(20),
allowNull: true,
},
p12_C_3: {
type: DataTypes.STRING(20),
allowNull: true,
},
p12_C_4: {
type: DataTypes.STRING(20),
allowNull: true,
},
p12_D_1: {
type: DataTypes.STRING(20),
allowNull: true,
},
p12_D_2: {
type: DataTypes.STRING(20),
allowNull: true,
},
p12_D_3: {
type: DataTypes.STRING(20),
allowNull: true,
},
p12_D_4: {
type: DataTypes.STRING(20),
allowNull: true,
},
p12_D_5: {
type: DataTypes.STRING(20),
allowNull: true,
},
// p13, p14, p15, p16...
p13: {
type: DataTypes.STRING(100),
allowNull: true,
},
p14: {
type: DataTypes.STRING(100),
allowNull: true,
},
p15: {
type: DataTypes.STRING(5),
allowNull: true,
},
p16: {
type: DataTypes.STRING(50),
allowNull: true,
},
// p17_*
p17_1: {
type: DataTypes.STRING(5),
allowNull: true,
},
p17_2: {
type: DataTypes.STRING(5),
allowNull: true,
},
p17_3: {
type: DataTypes.STRING(5),
allowNull: true,
},
// p18
p18: {
type: DataTypes.STRING(50),
allowNull: true,
},
},
{
sequelize,
modelName: 'CuestionarioAlumno2',
tableName: 'cuestionario_alumno_2',
timestamps: true,
createdAt: true,
updatedAt: false,
}
);
// Importación después de la definición para evitar dependencias circulares
const Cuestionario = require('./Cuestionario');
// Definir relaciones después de importar correctamente
CuestionarioAlumno2.belongsTo(Cuestionario, { foreignKey: 'idCuestionario' });
Cuestionario.hasMany(CuestionarioAlumno2, { foreignKey: 'idCuestionario' });
module.exports = CuestionarioAlumno2;
+20
View File
@@ -1,6 +1,9 @@
const { DataTypes, Model } = require('sequelize');
const sequelize = require('../../config/sequelize.conf');
const Cuestionario = require('./Cuestionario');
class CuestionarioPrograma2 extends Model {}
CuestionarioPrograma2.init(
@@ -13,6 +16,14 @@ CuestionarioPrograma2.init(
autoIncrement: true,
},
idCuestionario: {
type: DataTypes.INTEGER,
allowNull: true,
},
// Sección p3_A_*
p3_A_1: {
type: DataTypes.STRING(50),
@@ -131,4 +142,13 @@ CuestionarioPrograma2.init(
}
);
CuestionarioPrograma2.belongsTo(Cuestionario, { foreignKey: 'idCuestionario' });
Cuestionario.hasMany(CuestionarioPrograma2, { foreignKey: 'idCuestionario' });
module.exports = CuestionarioPrograma2;
+10
View File
@@ -0,0 +1,10 @@
PORT=3000
DB = servicio_test
USERDB = root
PASSWORDDB = mypass
HOSTDB = host.docker.internal
TYPEDB = mariadb
ESCOLARES = 127.0.0.1
ESCOLARES_PASS = mypass
+112 -120
View File
@@ -1,135 +1,127 @@
/* CREATE TABLE `servicio` (
`idServicio` INT PRIMARY KEY
`idServicio` INT PRIMARY KEY
); */
--DROP TABLE IF EXISTS `Cuestionario`;
DROP TABLE IF EXISTS `Cuestionario`;
CREATE TABLE `Cuestionario` (
`idCuestionario` INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
`idCuestionarioAlumno` INT, -- Agregado para relación con alumnos
`idCuestionarioPrograma` INT, -- Agregado para relación con programas
`idCuestionarioAlumno1` INT, -- Agregado para relación con alumnos
`idCuestionarioPrograma1` INT, -- Agregado para relación con programas
`idServicio` INT,
`version` VARCHAR(50),
`titulo` VARCHAR(50),
`desc` VARCHAR(50),
`dirigidoA` VARCHAR(50),
`createdAt` DATETIME
);
CREATE TABLE
`Cuestionario` (
`idCuestionario` INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
`idServicio` INT,
`version` VARCHAR(50),
`titulo` VARCHAR(50),
`desc` VARCHAR(50),
`dirigidoA` VARCHAR(50),
`createdAt` DATETIME
);
--`idCuestionarioAlumno` INT, -- Agregado para relación con alumnos
--`idCuestionarioPrograma` INT, -- Agregado para relación con programas
-- `idCuestionarioAlumno1` INT, -- Agregado para relación con alumnos
-- `idCuestionarioPrograma1` INT, -- Agregado para relación con programas
DROP TABLE IF EXISTS `cuestionario_alumno_2`;
CREATE TABLE `cuestionario_alumno_2` (
`idCuestionarioAlumno2` INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
`createdAt` DATETIME,
`p12_A_1` VARCHAR(50),
`p12_A_2` VARCHAR(50),
`p12_A_3` VARCHAR(50),
`p12_A_4` VARCHAR(50),
`p12_B_1` VARCHAR(50),
`p12_B_2` VARCHAR(50),
`p12_B_3` VARCHAR(50),
`p12_B_4` VARCHAR(50),
`p12_C_1` VARCHAR(50),
`p12_C_2` VARCHAR(50),
`p12_C_3` VARCHAR(50),
`p12_C_4` VARCHAR(50),
`p10_1` VARCHAR(50),
`p10_2` VARCHAR(50),
`p10_3` VARCHAR(50),
`p11_1` VARCHAR(50),
`p11_2` VARCHAR(50),
`p11_3` VARCHAR(50),
`p11_4` VARCHAR(50),
`p17_1` VARCHAR(50),
`p17_2` VARCHAR(50),
`p17_3` VARCHAR(50),
`p3_1` VARCHAR(50),
`p3_2` VARCHAR(50),
`p3_3` VARCHAR(50),
`p3_4` VARCHAR(50),
`p12_D_1` VARCHAR(50),
`p12_D_2` VARCHAR(50),
`p12_D_3` VARCHAR(50),
`p12_D_4` VARCHAR(50),
`p12_D_5` VARCHAR(50),
`p1` VARCHAR(150),
`p2` VARCHAR(50),
`p4` VARCHAR(50),
`p5` VARCHAR(50),
`p6` VARCHAR(50),
`p7` VARCHAR(50),
`p8` VARCHAR(50),
`p9` VARCHAR(50),
`p13` VARCHAR(50),
`p14` VARCHAR(50),
`p15` VARCHAR(50),
`p16` VARCHAR(50),
`p18` VARCHAR(50)
);
CREATE TABLE
`cuestionario_alumno_2` (
`idCuestionarioAlumno2` INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
`idCuestionario` INT,
`createdAt` DATETIME,
`p12_A_1` VARCHAR(50),
`p12_A_2` VARCHAR(50),
`p12_A_3` VARCHAR(50),
`p12_A_4` VARCHAR(50),
`p12_B_1` VARCHAR(50),
`p12_B_2` VARCHAR(50),
`p12_B_3` VARCHAR(50),
`p12_B_4` VARCHAR(50),
`p12_C_1` VARCHAR(50),
`p12_C_2` VARCHAR(50),
`p12_C_3` VARCHAR(50),
`p12_C_4` VARCHAR(50),
`p10_1` VARCHAR(50),
`p10_2` VARCHAR(50),
`p10_3` VARCHAR(50),
`p11_1` VARCHAR(50),
`p11_2` VARCHAR(50),
`p11_3` VARCHAR(50),
`p11_4` VARCHAR(50),
`p17_1` VARCHAR(50),
`p17_2` VARCHAR(50),
`p17_3` VARCHAR(50),
`p3_1` VARCHAR(50),
`p3_2` VARCHAR(50),
`p3_3` VARCHAR(50),
`p3_4` VARCHAR(50),
`p12_D_1` VARCHAR(50),
`p12_D_2` VARCHAR(50),
`p12_D_3` VARCHAR(50),
`p12_D_4` VARCHAR(50),
`p12_D_5` VARCHAR(50),
`p1` VARCHAR(150),
`p2` VARCHAR(50),
`p4` VARCHAR(50),
`p5` VARCHAR(50),
`p6` VARCHAR(50),
`p7` VARCHAR(50),
`p8` VARCHAR(50),
`p9` VARCHAR(50),
`p13` VARCHAR(50),
`p14` VARCHAR(50),
`p15` VARCHAR(50),
`p16` VARCHAR(50),
`p18` VARCHAR(50)
);
DROP TABLE IF EXISTS `cuestionario_programa_2`;
CREATE TABLE `cuestionario_programa_2` (
`idCuestionarioPrograma2` INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
`createdAt` DATETIME,
`p3_A_1` VARCHAR(50),
`p3_A_2` VARCHAR(50),
`p3_A_3` VARCHAR(50),
`p3_A_4` VARCHAR(50),
`p3_B_1` VARCHAR(50),
`p3_B_2` VARCHAR(50),
`p3_B_3` VARCHAR(50),
`p3_B_4` VARCHAR(50),
`p3_C_1` VARCHAR(50),
`p3_C_2` VARCHAR(50),
`p3_C_3` VARCHAR(50),
`p3_C_4` VARCHAR(50),
`p3_C_5` VARCHAR(50),
`p3_D_1` VARCHAR(50),
`p3_D_2` VARCHAR(50),
`p3_D_3` VARCHAR(50),
`p3_D_4` VARCHAR(50),
`p3_D_5` VARCHAR(50),
`p3_E_1` VARCHAR(50),
`p1` VARCHAR(50),
`p2` VARCHAR(50),
`p4` VARCHAR(50),
`p5` VARCHAR(50),
`p6` VARCHAR(50)
);
CREATE TABLE
`cuestionario_programa_2` (
`idCuestionarioPrograma2` INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
`idCuestionario` INT,
`createdAt` DATETIME,
`p3_A_1` VARCHAR(50),
`p3_A_2` VARCHAR(50),
`p3_A_3` VARCHAR(50),
`p3_A_4` VARCHAR(50),
`p3_B_1` VARCHAR(50),
`p3_B_2` VARCHAR(50),
`p3_B_3` VARCHAR(50),
`p3_B_4` VARCHAR(50),
`p3_C_1` VARCHAR(50),
`p3_C_2` VARCHAR(50),
`p3_C_3` VARCHAR(50),
`p3_C_4` VARCHAR(50),
`p3_C_5` VARCHAR(50),
`p3_D_1` VARCHAR(50),
`p3_D_2` VARCHAR(50),
`p3_D_3` VARCHAR(50),
`p3_D_4` VARCHAR(50),
`p3_D_5` VARCHAR(50),
`p3_E_1` VARCHAR(50),
`p1` VARCHAR(50),
`p2` VARCHAR(50),
`p4` VARCHAR(50),
`p5` VARCHAR(50),
`p6` VARCHAR(50),
`p7` VARCHAR(50)
);
-- Relaciones corregidas
ALTER TABLE `Cuestionario`
ADD FOREIGN KEY (`idServicio`) REFERENCES `servicio` (`idServicio`);
ALTER TABLE `Cuestionario` ADD FOREIGN KEY (`idServicio`) REFERENCES `servicio` (`idServicio`);
ALTER TABLE `Cuestionario`
ADD FOREIGN KEY (`idCuestionarioAlumno`) REFERENCES `cuestionario_alumno_2` (`idCuestionarioAlumno2`);
ALTER TABLE cuestionario_alumno ADD COLUMN idCuestionario INT;
ALTER TABLE cuestionario_programa ADD COLUMN idCuestionario INT;
ALTER TABLE `Cuestionario`
ADD FOREIGN KEY (`idCuestionarioPrograma`) REFERENCES `cuestionario_programa_2` (`idCuestionarioPrograma2`);
ALTER TABLE `cuestionario_alumno` ADD FOREIGN KEY (`idCuestionario`) REFERENCES `Cuestionario` (`idCuestionario`);
ALTER TABLE `cuestionario_alumno_2` ADD FOREIGN KEY (`idCuestionario`) REFERENCES `Cuestionario` (`idCuestionario`);
ALTER TABLE `cuestionario_programa` ADD FOREIGN KEY (`idCuestionario`) REFERENCES `Cuestionario` (`idCuestionario`);
ALTER TABLE `cuestionario_programa_2` ADD FOREIGN KEY (`idCuestionario`) REFERENCES `Cuestionario` (`idCuestionario`);
ALTER TABLE `Cuestionario`
ADD FOREIGN KEY (`idCuestionarioAlumno1`) REFERENCES `cuestionario_alumno` (`idCuestionarioAlumno`);
ALTER TABLE `Cuestionario`
ADD FOREIGN KEY (`idCuestionarioPrograma1`) REFERENCES `cuestionario_programa` (`idCuestionarioPrograma`);
INSERT INTO Cuestionario (idCuestionarioAlumno1, idCuestionarioPrograma1, idServicio) SELECT
s.idCuestionarioAlumno, s.idCuestionarioPrograma, s.idServicio FROM servicio s;
--ALTER TABLE `Cuestionario`
--ADD FOREIGN KEY (`idCuestionarioAlumno`) REFERENCES `cuestionario_alumno_2` (`idCuestionarioAlumno2`);
--ALTER TABLE `Cuestionario`
--ADD FOREIGN KEY (`idCuestionarioPrograma`) REFERENCES `cuestionario_programa_2` (`idCuestionarioPrograma2`);
--ALTER TABLE `Cuestionario`
--ADD FOREIGN KEY (`idCuestionarioAlumno1`) REFERENCES `cuestionario_alumno` (`idCuestionarioAlumno`);
--ALTER TABLE `Cuestionario`
--ADD FOREIGN KEY (`idCuestionarioPrograma1`) REFERENCES `cuestionario_programa` (`idCuestionarioPrograma`);