90 lines
2.5 KiB
JavaScript
90 lines
2.5 KiB
JavaScript
require('../config/config');
|
|
const { Op } = require('sequelize');
|
|
const moment = require('moment');
|
|
const colors = require('colors');
|
|
const Carrera = require('./tablas/Carrera');
|
|
const AlumnoHorario = require('./tablas/AlumnoHorario');
|
|
const Horario = require('./tablas/Horario');
|
|
const Alumno = require('./tablas/Alumno');
|
|
|
|
const drop = async () => {
|
|
console.log('\nPaso 1) Desinstalando la db.'.bold.blue);
|
|
|
|
await AlumnoHorario.drop();
|
|
console.log('La tabla AlumnoHorario se desinstalo correctamente.'.magenta);
|
|
|
|
await Horario.drop();
|
|
console.log('La tabla Horario se desinstalo correctamente.'.magenta);
|
|
|
|
await Alumno.drop();
|
|
console.log('La tabla Alumno 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 Alumno.sync();
|
|
console.log('La tabla Alumno se instalo correctamente.'.magenta);
|
|
|
|
await Horario.sync();
|
|
console.log('La tabla Horario se instalo correctamente.'.magenta);
|
|
|
|
await AlumnoHorario.sync();
|
|
console.log('La tabla AlumnoHorario se instalo correctamente.'.magenta);
|
|
};
|
|
|
|
const dataHorario = async () => {
|
|
const diaInicio = 16;
|
|
const diaFin = 22;
|
|
|
|
console.log('\nPaso 3) Instalando catalogo Horario.'.bold.blue);
|
|
for (let i = diaInicio; i <= diaFin; i++) {
|
|
const dia = `2021/11/${i < 10 ? '0' + i : i}`;
|
|
const horaFin = 17;
|
|
const minutoFin = 0;
|
|
let horaInicio = 10;
|
|
let minutoInicio = 0;
|
|
let parar = false;
|
|
let turno = 'V';
|
|
|
|
if (i === 20 || i === 21) continue;
|
|
while (!parar) {
|
|
const hora = `${horaInicio < 10 ? '0' + horaInicio : horaInicio}:${
|
|
minutoInicio < 10 ? '0' + minutoInicio : minutoInicio
|
|
}`;
|
|
|
|
if (horaInicio === 13 && minutoInicio === 40) turno = 'M';
|
|
await Horario.create({ horario: `${dia} ${hora}`, turno });
|
|
console.log(`Se agrego el horario ${dia} ${hora} correctamente.`.magenta);
|
|
if (horaInicio === horaFin && minutoInicio === minutoFin) parar = true;
|
|
else {
|
|
minutoInicio += 20;
|
|
if (minutoInicio == 60) {
|
|
horaInicio++;
|
|
minutoInicio = 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
const exe = async () => {
|
|
await drop();
|
|
await sync();
|
|
await dataHorario();
|
|
|
|
console.log(
|
|
'\nSe ha instalado exitosamente la base de datos.\n'.underline.bold.green
|
|
);
|
|
|
|
process.exit();
|
|
};
|
|
|
|
exe();
|