Files
citas_recorridos_api/server/db/install.js
T
xXpuma99Xx 64b94de562 nueva db
2021-10-22 23:46:31 -05:00

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();