nueva db
This commit is contained in:
+23
-338
@@ -3,34 +3,22 @@ const { Op } = require('sequelize');
|
||||
const moment = require('moment');
|
||||
const colors = require('colors');
|
||||
const Carrera = require('./tablas/Carrera');
|
||||
const CarreraHorario = require('./tablas/CarreraHorario');
|
||||
const Grupo = require('./tablas/Grupo');
|
||||
const GrupoHorario = require('./tablas/GrupoHorario');
|
||||
const AlumnoHorario = require('./tablas/AlumnoHorario');
|
||||
const Horario = require('./tablas/Horario');
|
||||
const PrimerSemestre = require('./tablas/PrimerSemestre');
|
||||
const TercerSemestre = require('./tablas/TercerSemestre');
|
||||
const Alumno = require('./tablas/Alumno');
|
||||
|
||||
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 GrupoHorario.drop();
|
||||
console.log('La tabla GrupoHorario se desinstalo correctamente.'.magenta);
|
||||
|
||||
await CarreraHorario.drop();
|
||||
console.log('La tabla CarreraHorario se desinstalo correctamente.'.magenta);
|
||||
|
||||
await Grupo.drop();
|
||||
console.log('La tabla Grupo se desinstalo correctamente.'.magenta);
|
||||
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);
|
||||
};
|
||||
@@ -41,258 +29,38 @@ const sync = async () => {
|
||||
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 Grupo.sync();
|
||||
console.log('La tabla Grupo se instalo correctamente.'.magenta);
|
||||
|
||||
await CarreraHorario.sync();
|
||||
console.log('La tabla CarreraHorario se instalo correctamente.'.magenta);
|
||||
|
||||
await GrupoHorario.sync();
|
||||
console.log('La tabla GrupoHorario 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',
|
||||
matutino: 4,
|
||||
despertino: 3,
|
||||
horarioAsignado: { dia: '2021/08/12', horaInicio: '08:00' },
|
||||
horariosAsignados: [{ dia: '2021/08/06', horaInicio: '08:00', turnos: 7 }],
|
||||
},
|
||||
{
|
||||
carrera: 'ARQUITECTURA',
|
||||
matutino: 4,
|
||||
despertino: 3,
|
||||
horarioAsignado: { dia: '2021/08/10', horaInicio: '10:40' },
|
||||
horariosAsignados: [{ dia: '2021/08/03', horaInicio: '10:40', turnos: 7 }],
|
||||
},
|
||||
{
|
||||
carrera: 'CIENCIAS POLÍTICAS Y ADMON. PÚBLICA',
|
||||
matutino: 3,
|
||||
despertino: 2,
|
||||
horarioAsignado: { dia: '2021/08/12', horaInicio: '13:00' },
|
||||
horariosAsignados: [{ dia: '2021/08/06', horaInicio: '13:00', turnos: 5 }],
|
||||
},
|
||||
{
|
||||
carrera: 'COMUNICACIÓN',
|
||||
matutino: 4,
|
||||
despertino: 4,
|
||||
horarioAsignado: { dia: '2021/08/11', horaInicio: '08:00' },
|
||||
horariosAsignados: [{ dia: '2021/08/04', horaInicio: '08:00', turnos: 8 }],
|
||||
},
|
||||
{
|
||||
carrera: 'DERECHO',
|
||||
matutino: 9,
|
||||
despertino: 9,
|
||||
horarioAsignado: { dia: '2021/08/09', horaInicio: '08:00' },
|
||||
horariosAsignados: [{ dia: '2021/08/02', horaInicio: '08:00', turnos: 18 }],
|
||||
},
|
||||
{
|
||||
carrera: 'DISEÑO GRÁFICO',
|
||||
matutino: 4,
|
||||
despertino: 4,
|
||||
horarioAsignado: { dia: '2021/08/10', horaInicio: '08:00' },
|
||||
horariosAsignados: [{ dia: '2021/08/03', horaInicio: '08:00', turnos: 8 }],
|
||||
},
|
||||
{
|
||||
carrera: 'ECONOMÍA',
|
||||
matutino: 3,
|
||||
despertino: 2,
|
||||
horarioAsignado: { dia: '2021/08/13', horaInicio: '08:00' },
|
||||
horariosAsignados: [
|
||||
{ dia: '2021/08/04', horaInicio: '15:20', turnos: 1 },
|
||||
{ dia: '2021/08/05', horaInicio: '08:00', turnos: 4 },
|
||||
],
|
||||
},
|
||||
{
|
||||
carrera: 'ENSEÑANZA DE INGLÉS',
|
||||
matutino: 1,
|
||||
despertino: 1,
|
||||
horarioAsignado: { dia: '2021/08/11', horaInicio: '15:00' },
|
||||
horariosAsignados: [{ dia: '2021/08/04', horaInicio: '15:00', turnos: 1 }],
|
||||
},
|
||||
{
|
||||
carrera: 'FILOSOFÍA',
|
||||
matutino: 1,
|
||||
despertino: 1,
|
||||
horarioAsignado: { dia: '2021/08/11', horaInicio: '12:40' },
|
||||
horariosAsignados: [{ dia: '2021/08/04', horaInicio: '12:40', turnos: 2 }],
|
||||
},
|
||||
{
|
||||
carrera: 'HISTORIA',
|
||||
matutino: 2,
|
||||
despertino: 1,
|
||||
horarioAsignado: { dia: '2021/08/11', horaInicio: '14:00' },
|
||||
horariosAsignados: [{ dia: '2021/08/04', horaInicio: '14:00', turnos: 3 }],
|
||||
},
|
||||
{
|
||||
carrera: 'INGENIERÍA CIVIL',
|
||||
matutino: 3,
|
||||
despertino: 2,
|
||||
horarioAsignado: { dia: '2021/08/09', horaInicio: '14:00' },
|
||||
horariosAsignados: [{ dia: '2021/08/02', horaInicio: '14:00', turnos: 5 }],
|
||||
},
|
||||
{
|
||||
carrera: 'LENGUA Y LITERATURA HISPÁNICAS',
|
||||
matutino: 1,
|
||||
despertino: 1,
|
||||
horarioAsignado: { dia: '2021/08/11', horaInicio: '13:20' },
|
||||
horariosAsignados: [{ dia: '2021/08/04', horaInicio: '13:20', turnos: 2 }],
|
||||
},
|
||||
{
|
||||
carrera: 'MATEMÁTICAS. APL. Y COMP. (1999)',
|
||||
matutino: 4,
|
||||
despertino: 4,
|
||||
horarioAsignado: { dia: '2021/08/12', horaInicio: '10:20' },
|
||||
horariosAsignados: [{ dia: '2021/08/06', horaInicio: '10:20', turnos: 8 }],
|
||||
},
|
||||
{
|
||||
carrera: 'PEDAGOGÍA',
|
||||
matutino: 4,
|
||||
despertino: 2,
|
||||
horarioAsignado: { dia: '2021/08/11', horaInicio: '10:40' },
|
||||
horariosAsignados: [{ dia: '2021/08/04', horaInicio: '10:40', turnos: 6 }],
|
||||
},
|
||||
{
|
||||
carrera: 'RELACIONES INTERNACIONALES',
|
||||
matutino: 3,
|
||||
despertino: 3,
|
||||
horarioAsignado: { dia: '2021/08/10', horaInicio: '13:00' },
|
||||
horariosAsignados: [{ dia: '2021/08/03', horaInicio: '13:00', turnos: 6 }],
|
||||
},
|
||||
{
|
||||
carrera: 'SOCIOLOGÍA',
|
||||
matutino: 2,
|
||||
despertino: 2,
|
||||
horarioAsignado: { dia: '2021/08/13', horaInicio: '09:40' },
|
||||
horariosAsignados: [
|
||||
{ dia: '2021/08/03', horaInicio: '15:00', turnos: 2 },
|
||||
{ dia: '2021/08/06', horaInicio: '14:40', turnos: 2 },
|
||||
],
|
||||
},
|
||||
// {
|
||||
// carrera: 'DERECHO (SUA)',
|
||||
// matutino: 0,
|
||||
// despertino: 0,
|
||||
// horarioAsignado:{dia:'',horaInicio:''}
|
||||
// },
|
||||
// {
|
||||
// carrera: 'ENSEÑANZA DE ESPAÑOL(LENG EXTRANJERA)SUA',
|
||||
// matutino: 0,
|
||||
// despertino: 0,
|
||||
// horarioAsignado:{dia:'',horaInicio:''}
|
||||
// },
|
||||
// {
|
||||
// carrera: 'ENSEÑANZA DE FRANCES(LENG EXTRANJERA)SUA',
|
||||
// matutino: 0,
|
||||
// despertino: 0,
|
||||
// horarioAsignado:{dia:'',horaInicio:''}
|
||||
// },
|
||||
// {
|
||||
// carrera: 'ENSEÑANZA DE INGLES (LENG EXTRANJERA)SUA',
|
||||
// matutino: 0,
|
||||
// despertino: 0,
|
||||
// horarioAsignado:{dia:'',horaInicio:''}
|
||||
// },
|
||||
// {
|
||||
// carrera: 'ENSEÑANZA DE ITALIANO(LENG EXTRANJ.)SUA',
|
||||
// matutino: 0,
|
||||
// despertino: 0,
|
||||
// horarioAsignado:{dia:'',horaInicio:''}
|
||||
// },
|
||||
// {
|
||||
// carrera: 'RELACIONES INTERNACIONALES (SUA)',
|
||||
// matutino: 0,
|
||||
// despertino: 0,
|
||||
// horarioAsignado:{dia:'',horaInicio:''}
|
||||
// },
|
||||
];
|
||||
|
||||
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].matutino; 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
|
||||
);
|
||||
}
|
||||
console.log();
|
||||
for (let j = 1; j <= data[i].despertino; 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
|
||||
);
|
||||
}
|
||||
console.log();
|
||||
for (let j = 1; j <= data[i].matutino; 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
|
||||
);
|
||||
}
|
||||
console.log();
|
||||
for (let j = 1; j <= data[i].despertino; 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
|
||||
);
|
||||
}
|
||||
console.log('\n');
|
||||
}
|
||||
await AlumnoHorario.sync();
|
||||
console.log('La tabla AlumnoHorario se instalo correctamente.'.magenta);
|
||||
};
|
||||
|
||||
const dataHorario = async () => {
|
||||
const diaFin = 13;
|
||||
const diaInicio = 2;
|
||||
const diaInicio = 16;
|
||||
const diaFin = 22;
|
||||
|
||||
console.log('\nPaso 5) Instalando catalogo Horario.'.bold.blue);
|
||||
console.log('\nPaso 3) Instalando catalogo Horario.'.bold.blue);
|
||||
for (let i = diaInicio; i <= diaFin; i++) {
|
||||
const dia = `2021/08/${i < 10 ? '0' + i : i}`;
|
||||
const horaFin = 15;
|
||||
const minutoFin = 20;
|
||||
let horaInicio = 8;
|
||||
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 === 7 || i === 8) continue;
|
||||
if (i === 20 || i === 21) continue;
|
||||
while (!parar) {
|
||||
const hora = `${horaInicio < 10 ? '0' + horaInicio : horaInicio}:${
|
||||
minutoInicio < 10 ? '0' + minutoInicio : minutoInicio
|
||||
}`;
|
||||
|
||||
await Horario.create({ horario: `${dia} ${hora}` });
|
||||
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 {
|
||||
@@ -306,93 +74,10 @@ const dataHorario = async () => {
|
||||
}
|
||||
};
|
||||
|
||||
const dataGrupoHorario = async () => {
|
||||
console.log('\nPaso 6) Instalando catalogo GrupoHorario.'.bold.blue);
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
const gruposCarrera = await Grupo.findAll({
|
||||
where: { grupo: { [Op.like]: '22%' }, idCarrera: i + 1 },
|
||||
});
|
||||
let idHorario = await Horario.findOne({
|
||||
where: {
|
||||
horario: new Date(
|
||||
`${data[i].horarioAsignado.dia} ${data[i].horarioAsignado.horaInicio}`
|
||||
),
|
||||
},
|
||||
}).then((res) => res.idHorario);
|
||||
|
||||
for (let j = 0; j < gruposCarrera.length; j++) {
|
||||
await GrupoHorario.create({
|
||||
idHorario,
|
||||
idGrupo: gruposCarrera[j].idGrupo,
|
||||
})
|
||||
.then((res) =>
|
||||
GrupoHorario.findOne({
|
||||
where: { idGrupoHorario: res.idGrupoHorario },
|
||||
include: [
|
||||
{ model: Grupo, include: [{ model: Carrera }] },
|
||||
{ model: Horario },
|
||||
],
|
||||
})
|
||||
)
|
||||
.then((res) => {
|
||||
console.log(
|
||||
`Se le asigno al grupo ${res.Grupo.grupo} de la carrera ${
|
||||
res.Grupo.Carrera.carrera
|
||||
} el horario ${moment(res.Horario.horario).format()}`.magenta
|
||||
);
|
||||
idHorario++;
|
||||
});
|
||||
}
|
||||
console.log();
|
||||
}
|
||||
};
|
||||
|
||||
const dataCarreraHorario = async () => {
|
||||
console.log('\nPaso 7) Instalando catalogo CarreraHorario.'.bold.blue);
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
for (let j = 0; j < data[i].horariosAsignados.length; j++) {
|
||||
let idHorario = await Horario.findOne({
|
||||
where: {
|
||||
horario: new Date(
|
||||
`${data[i].horariosAsignados[j].dia} ${data[i].horariosAsignados[j].horaInicio}`
|
||||
),
|
||||
},
|
||||
}).then((res) => res.idHorario);
|
||||
|
||||
for (let k = 0; k < data[i].horariosAsignados[j].turnos; k++) {
|
||||
await CarreraHorario.create({
|
||||
idHorario,
|
||||
idCarrera: i + 1,
|
||||
})
|
||||
.then((res) =>
|
||||
CarreraHorario.findOne({
|
||||
where: { idCarreraHorario: res.idCarreraHorario },
|
||||
include: [{ model: Carrera }, { model: Horario }],
|
||||
})
|
||||
)
|
||||
.then((res) => {
|
||||
console.log(
|
||||
`Se le asigno a la carrera ${
|
||||
res.Carrera.carrera
|
||||
} el horario ${moment(res.Horario.horario).format()}`.magenta
|
||||
);
|
||||
idHorario++;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
console.log();
|
||||
}
|
||||
};
|
||||
|
||||
const exe = async () => {
|
||||
await drop();
|
||||
await sync();
|
||||
await dataCarrera();
|
||||
await dataGrupo();
|
||||
await dataHorario();
|
||||
await dataGrupoHorario();
|
||||
await dataCarreraHorario();
|
||||
|
||||
console.log(
|
||||
'\nSe ha instalado exitosamente la base de datos.\n'.underline.bold.green
|
||||
|
||||
Reference in New Issue
Block a user