Files
citas_recorridos_api/server/db/install.js
T

90 lines
2.5 KiB
JavaScript
Raw Normal View History

2021-07-08 21:00:35 -05:00
require('../config/config');
2021-07-11 20:06:39 -05:00
const { Op } = require('sequelize');
2021-07-11 21:49:23 -05:00
const moment = require('moment');
2021-07-08 21:00:35 -05:00
const colors = require('colors');
2021-07-09 19:59:12 -05:00
const Carrera = require('./tablas/Carrera');
2021-10-22 23:46:31 -05:00
const AlumnoHorario = require('./tablas/AlumnoHorario');
2021-07-11 21:49:23 -05:00
const Horario = require('./tablas/Horario');
2021-10-22 23:46:31 -05:00
const Alumno = require('./tablas/Alumno');
2021-07-08 21:00:35 -05:00
const drop = async () => {
console.log('\nPaso 1) Desinstalando la db.'.bold.blue);
2021-10-22 23:46:31 -05:00
await AlumnoHorario.drop();
console.log('La tabla AlumnoHorario se desinstalo correctamente.'.magenta);
2021-07-09 19:59:12 -05:00
2021-07-11 21:49:23 -05:00
await Horario.drop();
console.log('La tabla Horario se desinstalo correctamente.'.magenta);
2021-07-09 19:59:12 -05:00
2021-10-22 23:46:31 -05:00
await Alumno.drop();
console.log('La tabla Alumno se desinstalo correctamente.'.magenta);
2021-07-09 19:59:12 -05:00
await Carrera.drop();
console.log('La tabla Carrera se desinstalo correctamente.'.magenta);
2021-07-08 21:00:35 -05:00
};
const sync = async () => {
console.log('\nPaso 2) Instalando la db.'.bold.blue);
2021-07-09 19:59:12 -05:00
await Carrera.sync();
console.log('La tabla Carrera se instalo correctamente.'.magenta);
2021-10-22 23:46:31 -05:00
await Alumno.sync();
console.log('La tabla Alumno se instalo correctamente.'.magenta);
2021-07-11 21:49:23 -05:00
await Horario.sync();
console.log('La tabla Horario se instalo correctamente.'.magenta);
2021-07-09 19:59:12 -05:00
2021-10-22 23:46:31 -05:00
await AlumnoHorario.sync();
console.log('La tabla AlumnoHorario se instalo correctamente.'.magenta);
2021-07-09 21:00:13 -05:00
};
2021-07-11 21:49:23 -05:00
const dataHorario = async () => {
2021-10-22 23:46:31 -05:00
const diaInicio = 16;
const diaFin = 22;
2021-07-11 21:49:23 -05:00
2021-10-22 23:46:31 -05:00
console.log('\nPaso 3) Instalando catalogo Horario.'.bold.blue);
2021-07-11 21:49:23 -05:00
for (let i = diaInicio; i <= diaFin; i++) {
2021-10-22 23:46:31 -05:00
const dia = `2021/11/${i < 10 ? '0' + i : i}`;
const horaFin = 17;
const minutoFin = 0;
let horaInicio = 10;
2021-07-11 21:49:23 -05:00
let minutoInicio = 0;
let parar = false;
2021-10-22 23:46:31 -05:00
let turno = 'V';
2021-07-11 21:49:23 -05:00
2021-10-22 23:46:31 -05:00
if (i === 20 || i === 21) continue;
2021-07-11 21:49:23 -05:00
while (!parar) {
const hora = `${horaInicio < 10 ? '0' + horaInicio : horaInicio}:${
minutoInicio < 10 ? '0' + minutoInicio : minutoInicio
}`;
2021-10-22 23:46:31 -05:00
if (horaInicio === 13 && minutoInicio === 40) turno = 'M';
await Horario.create({ horario: `${dia} ${hora}`, turno });
2021-07-11 21:49:23 -05:00
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;
}
}
2021-07-09 21:55:07 -05:00
}
2021-07-11 20:06:39 -05:00
}
};
2021-07-08 21:00:35 -05:00
const exe = async () => {
await drop();
await sync();
2021-07-11 21:49:23 -05:00
await dataHorario();
2021-07-09 19:59:12 -05:00
2021-07-08 21:00:35 -05:00
console.log(
'\nSe ha instalado exitosamente la base de datos.\n'.underline.bold.green
);
process.exit();
};
exe();