diff --git a/db/install.js b/db/install.js index f5413ab..9a98f47 100644 --- a/db/install.js +++ b/db/install.js @@ -28,6 +28,7 @@ const RespuestaAbiertaAlumno = require('./tablas/RespuestaAbiertaAlumno'); const RespuestaAlumno = require('./tablas/RespuestaAlumno'); const RespuestaAbiertaTrabajador = require('./tablas/RespuestaAbiertaTrabajador'); const RespuestaTrabajador = require('./tablas/RespuestaTrabajador'); +const DirigidoA = require('./tablas/DirigidoA'); const drop = async () => { console.log('\nPaso 1) Desinstalando la db.'.bold.blue); @@ -104,6 +105,9 @@ const drop = async () => { await TipoCuestionario.drop(); console.log('La tabla TipoCuestionario se desinstalo correctamente.'.magenta); + await DirigidoA.drop(); + console.log('La tabla DirigidoA se desinstalo correctamente.'.magenta); + await Carrera.drop(); console.log('La tabla Carrera se desinstalo correctamente.'.magenta); @@ -127,6 +131,9 @@ const sync = async () => { await Carrera.sync(); console.log('La tabla Carrera se instalo correctamente.'.magenta); + await DirigidoA.sync(); + console.log('La tabla DirigidoA se instalo correctamente.'.magenta); + await TipoCuestionario.sync(); console.log('La tabla TipoCuestionario se instalo correctamente.'.magenta); @@ -225,18 +232,26 @@ const dataTipoPregunta = async () => { await TipoPregunta.create({ tipoPregunta: data[i] }); }; -const dataTipoCuestionario = async () => { - const data = ['Simple', 'Dependiente']; +const dataDirigidoA = async () => { + const data = ['Alumnos', 'ED', 'Trabajadores']; console.log('\nPaso 6) Instalando catalogo tipo cuestionario.'.bold.blue); for (let i = 0; i < data.length; i++) - await TipoCuestionario.create({ tipoCuestionario: data[i] }); + await DirigidoA.create({ dirigidoA: data[i] }); +}; + +const dataTipoCuestionario = async () => { + const data = ['Simple', 'Dependiente']; + + console.log('\nPaso 7) Instalando catalogo tipo cuestionario.'.bold.blue); + for (let i = 0; i < data.length; i++) + await TipoCuestionario.create({ tipoCuestionario: data[i], idDirigidoA: i+1 }); }; const dataCarrera = async () => { const data = ['Carrera 1', 'Carrera 2']; - console.log('\nPaso 7) Instalando catalogo carrera.'.bold.blue); + console.log('\nPaso 8) Instalando catalogo carrera.'.bold.blue); for (let i = 0; i < data.length; i++) await Carrera.create({ carrera: data[i] }); }; @@ -244,7 +259,7 @@ const dataCarrera = async () => { const dataPeriodo = async () => { const data = ['Periodo 1', 'Periodo 2']; - console.log('\nPaso 8) Instalando catalogo periodo.'.bold.blue); + console.log('\nPaso 9) Instalando catalogo periodo.'.bold.blue); for (let i = 0; i < data.length; i++) await Periodo.create({ periodo: data[i], activo: true}); }; @@ -252,7 +267,7 @@ const dataPeriodo = async () => { const dataGrupo = async () => { const data = ['Grupo 1', 'Grupo 2']; - console.log('\nPaso 9) Instalando catalogo grupo.'.bold.blue); + console.log('\nPaso 10) Instalando catalogo grupo.'.bold.blue); for (let i = 0; i < data.length; i++) await Grupo.create({ grupo: data[i] }); }; @@ -260,7 +275,7 @@ const dataGrupo = async () => { const dataMateria = async () => { const data = ['Materia 1', 'Materia 2']; - console.log('\nPaso 10) Instalando catalogo materia.'.bold.blue); + console.log('\nPaso 11) Instalando catalogo materia.'.bold.blue); for (let i = 0; i < data.length; i++) await Materia.create({ materia: data[i] }); }; @@ -271,6 +286,7 @@ const exe = async () => { await dataTipoUsuario(); await dataModalidad(); await dataTipoPregunta(); + await dataDirigidoA(); await dataTipoCuestionario(); await dataCarrera(); await dataPeriodo(); diff --git a/db/tablas/DirigidoA.js b/db/tablas/DirigidoA.js new file mode 100644 index 0000000..3dc70c1 --- /dev/null +++ b/db/tablas/DirigidoA.js @@ -0,0 +1,27 @@ +const { DataTypes, Model } = require('sequelize'); +const sequelize = require('../../config/sequelize.conf'); + +class DirigidoA extends Model {} +DirigidoA.init( + { + idDirigidoA: { + type: DataTypes.INTEGER, + primaryKey: true, + allowNull: false, + unique: true, + autoIncrement: true, + }, + dirigidoA: { + type: DataTypes.STRING(50), + allowNull: false, + }, + }, + { + sequelize, + modelName: 'DirigidoA', + tableName: 'dirigido_a', + timestamps: false, + } +); + +module.exports = DirigidoA; diff --git a/db/tablas/Pregunta.js b/db/tablas/Pregunta.js index 723c2ed..26ca992 100644 --- a/db/tablas/Pregunta.js +++ b/db/tablas/Pregunta.js @@ -47,4 +47,12 @@ Pregunta.belongsTo(TipoPregunta, { }, }); +Pregunta.belongsTo(Pregunta, { + foreignKey: { + name: 'idPreguntaDepende', + type: DataTypes.INTEGER, + allowNull: true, + }, +}); + module.exports = Pregunta; diff --git a/db/tablas/TipoCuestionario.js b/db/tablas/TipoCuestionario.js index cc1f0c8..4d620c6 100644 --- a/db/tablas/TipoCuestionario.js +++ b/db/tablas/TipoCuestionario.js @@ -1,5 +1,6 @@ const { DataTypes, Model } = require('sequelize'); const sequelize = require('../../config/sequelize.conf'); +const DirigidoA = require('./DirigidoA') class TipoCuestionario extends Model {} TipoCuestionario.init( @@ -24,4 +25,12 @@ TipoCuestionario.init( } ); +TipoCuestionario.belongsTo(DirigidoA, { + foreignKey: { + name: 'idDirigidoA', + type: DataTypes.INTEGER, + allowNull: false, + }, +}); + module.exports = TipoCuestionario;