367 lines
9.3 KiB
JavaScript
367 lines
9.3 KiB
JavaScript
require('../config/config');
|
|
const colors = require('colors');
|
|
const { min } = require('./tablas/Carrera');
|
|
const Carrera = require('./tablas/Carrera');
|
|
const CarreraDiaHora = require('./tablas/CarreraDiaHora');
|
|
const Dia = require('./tablas/Dia');
|
|
const DiaHora = require('./tablas/DiaHora');
|
|
const Grupo = require('./tablas/Grupo');
|
|
const GrupoDiaHora = require('./tablas/GrupoDiaHora');
|
|
const Hora = require('./tablas/Hora');
|
|
const PrimerSemestre = require('./tablas/PrimerSemestre');
|
|
const TercerSemestre = require('./tablas/TercerSemestre');
|
|
|
|
const drop = async () => {
|
|
console.log('\nPaso 1) Desinstalando la db.'.bold.blue);
|
|
|
|
await TercerSemestre.drop();
|
|
console.log('La tabla TercerSemestre se desinstalo correctamente.'.magenta);
|
|
|
|
await PrimerSemestre.drop();
|
|
console.log('La tabla PrimerSemestre se desinstalo correctamente.'.magenta);
|
|
|
|
await GrupoDiaHora.drop();
|
|
console.log('La tabla GrupoDiaHora se desinstalo correctamente.'.magenta);
|
|
|
|
await CarreraDiaHora.drop();
|
|
console.log('La tabla CarreraDiaHora se desinstalo correctamente.'.magenta);
|
|
|
|
await DiaHora.drop();
|
|
console.log('La tabla DiaHora se desinstalo correctamente.'.magenta);
|
|
|
|
await Grupo.drop();
|
|
console.log('La tabla Grupo se desinstalo correctamente.'.magenta);
|
|
|
|
await Dia.drop();
|
|
console.log('La tabla Dia se desinstalo correctamente.'.magenta);
|
|
|
|
await Hora.drop();
|
|
console.log('La tabla Hora se desinstalo correctamente.'.magenta);
|
|
|
|
await Carrera.drop();
|
|
console.log('La tabla Carrera se desinstalo correctamente.'.magenta);
|
|
};
|
|
|
|
const sync = async () => {
|
|
console.log('\nPaso 2) Instalando la db.'.bold.blue);
|
|
|
|
await Carrera.sync();
|
|
console.log('La tabla Carrera se instalo correctamente.'.magenta);
|
|
|
|
await Hora.sync();
|
|
console.log('La tabla Hora se instalo correctamente.'.magenta);
|
|
|
|
await Dia.sync();
|
|
console.log('La tabla Dia se instalo correctamente.'.magenta);
|
|
|
|
await Grupo.sync();
|
|
console.log('La tabla Grupo se instalo correctamente.'.magenta);
|
|
|
|
await DiaHora.sync();
|
|
console.log('La tabla DiaHora se instalo correctamente.'.magenta);
|
|
|
|
await CarreraDiaHora.sync();
|
|
console.log('La tabla CarreraDiaHora se instalo correctamente.'.magenta);
|
|
|
|
await GrupoDiaHora.sync();
|
|
console.log('La tabla GrupoDiaHora se instalo correctamente.'.magenta);
|
|
|
|
await PrimerSemestre.sync();
|
|
console.log('La tabla PrimerSemestre se instalo correctamente.'.magenta);
|
|
|
|
await TercerSemestre.sync();
|
|
console.log('La tabla TercerSemestre se instalo correctamente.'.magenta);
|
|
};
|
|
|
|
const data = [
|
|
{
|
|
carrera: 'ACTUARÍA',
|
|
primeroMatutino: 4,
|
|
primeroDespertino: 3,
|
|
segundoMatutino: 4,
|
|
segundoDespertino: 3,
|
|
},
|
|
{
|
|
carrera: 'ARQUITECTURA',
|
|
primeroMatutino: 4,
|
|
primeroDespertino: 3,
|
|
segundoMatutino: 4,
|
|
segundoDespertino: 3,
|
|
},
|
|
{
|
|
carrera: 'CIENCIAS POLÍTICAS Y ADMON. PÚBLICA',
|
|
primeroMatutino: 3,
|
|
primeroDespertino: 2,
|
|
segundoMatutino: 3,
|
|
segundoDespertino: 2,
|
|
},
|
|
{
|
|
carrera: 'COMUNICACIÓN',
|
|
primeroMatutino: 4,
|
|
primeroDespertino: 4,
|
|
segundoMatutino: 4,
|
|
segundoDespertino: 4,
|
|
},
|
|
{
|
|
carrera: 'DERECHO',
|
|
primeroMatutino: 9,
|
|
primeroDespertino: 9,
|
|
segundoMatutino: 9,
|
|
segundoDespertino: 9,
|
|
},
|
|
{
|
|
carrera: 'DISEÑO GRÁFICO',
|
|
primeroMatutino: 4,
|
|
primeroDespertino: 4,
|
|
segundoMatutino: 4,
|
|
segundoDespertino: 4,
|
|
},
|
|
{
|
|
carrera: 'ECONOMÍA',
|
|
primeroMatutino: 3,
|
|
primeroDespertino: 2,
|
|
segundoMatutino: 3,
|
|
segundoDespertino: 2,
|
|
},
|
|
{
|
|
carrera: 'ENSEÑANZA DE INGLÉS',
|
|
primeroMatutino: 1,
|
|
primeroDespertino: 1,
|
|
segundoMatutino: 1,
|
|
segundoDespertino: 1,
|
|
},
|
|
{
|
|
carrera: 'FILOSOFÍA',
|
|
primeroMatutino: 1,
|
|
primeroDespertino: 1,
|
|
segundoMatutino: 1,
|
|
segundoDespertino: 1,
|
|
},
|
|
{
|
|
carrera: 'HISTORIA',
|
|
primeroMatutino: 2,
|
|
primeroDespertino: 1,
|
|
segundoMatutino: 2,
|
|
segundoDespertino: 1,
|
|
},
|
|
{
|
|
carrera: 'INGENIERÍA CIVIL',
|
|
primeroMatutino: 3,
|
|
primeroDespertino: 2,
|
|
segundoMatutino: 3,
|
|
segundoDespertino: 2,
|
|
},
|
|
{
|
|
carrera: 'LENGUA Y LITERATURA HISPÁNICAS',
|
|
primeroMatutino: 1,
|
|
primeroDespertino: 1,
|
|
segundoMatutino: 1,
|
|
segundoDespertino: 1,
|
|
},
|
|
{
|
|
carrera: 'MATEMÁTICAS. APL. Y COMP. (1999)',
|
|
primeroMatutino: 4,
|
|
primeroDespertino: 4,
|
|
segundoMatutino: 4,
|
|
segundoDespertino: 4,
|
|
},
|
|
{
|
|
carrera: 'PEDAGOGÍA',
|
|
primeroMatutino: 4,
|
|
primeroDespertino: 2,
|
|
segundoMatutino: 4,
|
|
segundoDespertino: 2,
|
|
},
|
|
{
|
|
carrera: 'RELACIONES INTERNACIONALES',
|
|
primeroMatutino: 3,
|
|
primeroDespertino: 3,
|
|
segundoMatutino: 3,
|
|
segundoDespertino: 3,
|
|
},
|
|
{
|
|
carrera: 'SOCIOLOGÍA',
|
|
primeroMatutino: 2,
|
|
primeroDespertino: 2,
|
|
segundoMatutino: 2,
|
|
segundoDespertino: 2,
|
|
},
|
|
// {
|
|
// carrera: 'DERECHO (SUA)',
|
|
// primeroMatutino: 0,
|
|
// primeroDespertino: 0,
|
|
// segundoMatutino: 0,
|
|
// segundoDespertino: 0,
|
|
// },
|
|
// {
|
|
// carrera: 'ENSEÑANZA DE ESPAÑOL(LENG EXTRANJERA)SUA',
|
|
// primeroMatutino: 0,
|
|
// primeroDespertino: 0,
|
|
// segundoMatutino: 0,
|
|
// segundoDespertino: 0,
|
|
// },
|
|
// {
|
|
// carrera: 'ENSEÑANZA DE FRANCES(LENG EXTRANJERA)SUA',
|
|
// primeroMatutino: 0,
|
|
// primeroDespertino: 0,
|
|
// segundoMatutino: 0,
|
|
// segundoDespertino: 0,
|
|
// },
|
|
// {
|
|
// carrera: 'ENSEÑANZA DE INGLES (LENG EXTRANJERA)SUA',
|
|
// primeroMatutino: 0,
|
|
// primeroDespertino: 0,
|
|
// segundoMatutino: 0,
|
|
// segundoDespertino: 0,
|
|
// },
|
|
// {
|
|
// carrera: 'ENSEÑANZA DE ITALIANO(LENG EXTRANJ.)SUA',
|
|
// primeroMatutino: 0,
|
|
// primeroDespertino: 0,
|
|
// segundoMatutino: 0,
|
|
// segundoDespertino: 0,
|
|
// },
|
|
// {
|
|
// carrera: 'RELACIONES INTERNACIONALES (SUA)',
|
|
// primeroMatutino: 0,
|
|
// primeroDespertino: 0,
|
|
// segundoMatutino: 0,
|
|
// segundoDespertino: 0,
|
|
// },
|
|
];
|
|
|
|
const dataCarrera = async () => {
|
|
console.log('\nPaso 3) Instalando catalogo Carrera.'.bold.blue);
|
|
for (let i = 0; i < data.length; i++) {
|
|
await Carrera.create({ carrera: data[i].carrera });
|
|
console.log(
|
|
`Se agrego la carrera ${data[i].carrera} correctamente.`.magenta
|
|
);
|
|
}
|
|
};
|
|
|
|
const dataGrupo = async () => {
|
|
console.log('\nPaso 4) Instalando catalogo Grupo.'.bold.blue);
|
|
for (let i = 0; i < data.length; i++) {
|
|
for (let j = 1; j <= data[i].primeroMatutino; j++) {
|
|
const grupo = `110${j}`;
|
|
|
|
await Grupo.create({ grupo, idCarrera: i + 1 });
|
|
console.log(
|
|
`Se agrego el grupo ${grupo} a la carrera ${data[i].carrera} correctamente.`
|
|
.magenta
|
|
);
|
|
}
|
|
for (let j = 1; j <= data[i].primeroDespertino; j++) {
|
|
const grupo = `115${j}`;
|
|
|
|
await Grupo.create({ grupo, idCarrera: i + 1 });
|
|
console.log(
|
|
`Se agrego el grupo ${grupo} a la carrera ${data[i].carrera} correctamente.`
|
|
.magenta
|
|
);
|
|
}
|
|
for (let j = 1; j <= data[i].segundoMatutino; j++) {
|
|
const grupo = `220${j}`;
|
|
|
|
await Grupo.create({ grupo, idCarrera: i + 1 });
|
|
console.log(
|
|
`Se agrego el grupo ${grupo} a la carrera ${data[i].carrera} correctamente.`
|
|
.magenta
|
|
);
|
|
}
|
|
for (let j = 1; j <= data[i].segundoDespertino; j++) {
|
|
const grupo = `225${j}`;
|
|
|
|
await Grupo.create({ grupo, idCarrera: i + 1 });
|
|
console.log(
|
|
`Se agrego el grupo ${grupo} a la carrera ${data[i].carrera} correctamente.`
|
|
.magenta
|
|
);
|
|
}
|
|
}
|
|
};
|
|
|
|
const dataHora = async () => {
|
|
let horaInicio = 8;
|
|
let minutoInicio = 0;
|
|
const horaFin = 15;
|
|
const minutoFin = 20;
|
|
let parar = false;
|
|
|
|
console.log('\nPaso 5) Instalando catalogo Hora.'.bold.blue);
|
|
while (!parar) {
|
|
const hora = `${horaInicio < 10 ? '0' + horaInicio : horaInicio}:${
|
|
minutoInicio < 10 ? '0' + minutoInicio : minutoInicio
|
|
}`;
|
|
|
|
await Hora.create({ hora });
|
|
console.log(`Se agrego la hora ${hora} correctamente.`.magenta);
|
|
if (horaInicio === horaFin && minutoInicio === minutoFin) parar = true;
|
|
else {
|
|
minutoInicio += 20;
|
|
if (minutoInicio == 60) {
|
|
horaInicio++;
|
|
minutoInicio = 0;
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
const dataDia = async () => {
|
|
let diaInicio = 2;
|
|
const diaFin = 13;
|
|
const finSemana = [7, 8];
|
|
let parar = false;
|
|
|
|
console.log('\nPaso 6) Instalando catalogo Dia.'.bold.blue);
|
|
while (!parar) {
|
|
let saltar = false;
|
|
|
|
for (let i = 0; i < finSemana.length; i++)
|
|
if (finSemana[i] === diaInicio) saltar = true;
|
|
if (!saltar) {
|
|
const dia = `2021/08/${diaInicio < 10 ? '0' + diaInicio : diaInicio}`;
|
|
|
|
await Dia.create({ dia });
|
|
console.log(`Se agrego el dia ${dia} correctamente.`.magenta);
|
|
}
|
|
if (diaInicio === diaFin) parar = true;
|
|
else diaInicio++;
|
|
}
|
|
};
|
|
|
|
const dataDiaHora = async () => {
|
|
const dias = await Dia.findAll().then((res) => res.length);
|
|
const horas = await Hora.findAll().then((res) => res.length);
|
|
|
|
console.log('\nPaso 7) Instalando catalogo DiaHora.'.bold.blue);
|
|
for (let i = 1; i <= dias; i++) {
|
|
for (let j = 1; j <= horas; j++) {
|
|
await DiaHora.create({ idDia: i, idHora: j });
|
|
console.log(
|
|
`Se agrego el diaHora con idDia: ${i} y idHora: ${j} correctamente.`
|
|
.magenta
|
|
);
|
|
}
|
|
}
|
|
};
|
|
|
|
const exe = async () => {
|
|
await drop();
|
|
await sync();
|
|
await dataCarrera();
|
|
await dataGrupo();
|
|
await dataHora();
|
|
await dataDia();
|
|
await dataDiaHora();
|
|
|
|
console.log(
|
|
'\nSe ha instalado exitosamente la base de datos.\n'.underline.bold.green
|
|
);
|
|
|
|
process.exit();
|
|
};
|
|
|
|
exe();
|