113 lines
3.3 KiB
JavaScript
113 lines
3.3 KiB
JavaScript
require('../config/config');
|
|
const colors = require('colors');
|
|
const encriptar = require('../helper/encriptar');
|
|
const Carrera = require('./tablas/Carrera');
|
|
const Usuario = require('./tablas/Usuario');
|
|
const Area = require('./tablas/Area');
|
|
const FechaInscripcion = require('./tablas/FechaInscripcion');
|
|
const Inscripcion = require('./tablas/Inscripcion');
|
|
const Admin = require('./tablas/Admin');
|
|
const ProfesorInscrito = require('./tablas/ProfesorInscrito');
|
|
const Profesor = require('./tablas/Profesor');
|
|
|
|
const drop = async () => {
|
|
console.log('\nPaso 1) Desinstalando la db.'.bold.blue);
|
|
|
|
await Admin.drop();
|
|
console.log('La tabla Admin se desinstalo correctamente.'.magenta);
|
|
|
|
await Inscripcion.drop();
|
|
console.log('La tabla Inscripcion se desinstalo correctamente.'.magenta);
|
|
|
|
await Area.drop();
|
|
console.log('La tabla Area se desinstalo correctamente.'.magenta);
|
|
|
|
await FechaInscripcion.drop();
|
|
console.log('La tabla FechaInscripcion se desinstalo correctamente.'.magenta);
|
|
|
|
await Usuario.drop();
|
|
console.log('La tabla Usuario se desinstalo correctamente.'.magenta);
|
|
|
|
await Carrera.drop();
|
|
console.log('La tabla Carrera se desinstalo correctamente.'.magenta);
|
|
/*
|
|
await ProfesorInscrito.drop();
|
|
console.log('La tabla ProfesorInscrito se desinstalo correctamente.'.magenta);
|
|
|
|
await Profesor.drop();
|
|
console.log('La tabla Profesor se desinstalo correctamente.'.magenta);
|
|
*/
|
|
//await ProfesorInscrito.drop().catch(console.error); // Tiene FK hacia Profesor
|
|
//await Profesor.drop().catch(console.error);
|
|
};
|
|
|
|
const sync = async () => {
|
|
console.log('\nPaso 2) Instalando la db.'.bold.blue);
|
|
|
|
await Admin.sync();
|
|
console.log('La tabla Admin se instalo correctamente.'.magenta);
|
|
|
|
await Carrera.sync();
|
|
console.log('La tabla Carrera se instalo correctamente.'.magenta);
|
|
|
|
await Usuario.sync();
|
|
console.log('La tabla Usuario se instalo correctamente.'.magenta);
|
|
|
|
await Area.sync();
|
|
console.log('La tabla Area se instalo correctamente.'.magenta);
|
|
|
|
await FechaInscripcion.sync();
|
|
console.log('La tabla FechaInscripcion se instalo correctamente.'.magenta);
|
|
|
|
await Inscripcion.sync();
|
|
console.log('La tabla Inscripcion se instalo correctamente.'.magenta);
|
|
|
|
/*
|
|
await Profesor.sync();
|
|
console.log('La tabla Profesor se instalo correctamente.'.magenta);
|
|
|
|
await ProfesorInscrito.sync();
|
|
console.log('La tabla ProfesorInscrito se instalo correctamente.'.magenta);
|
|
*/
|
|
};
|
|
|
|
const dataArea = async () => {
|
|
const data = ['Windows', 'Macintosh', 'Linux'];
|
|
|
|
console.log('\nPaso 3) Instalando catalogo area.'.bold.blue);
|
|
for (let i = 0; i < data.length; i++) await Area.create({ area: data[i] });
|
|
};
|
|
|
|
const dataAdmin = async () => {
|
|
console.log('\nPaso 4) Insertando admin.'.bold.blue);
|
|
|
|
/*
|
|
//Borrar esta linea de codigo
|
|
console.log('Admin password:', process.env.ADMIN_PASSWORD);
|
|
|
|
//Eliminar esta linea de codigo
|
|
const pwdHasheada = encriptar.encriptar(process.env.ADMIN_PASSWORD);
|
|
console.log('Password hasheada:', pwdHasheada);
|
|
*/
|
|
|
|
await Admin.create({
|
|
idTipoUsuario: 1,
|
|
usuario: 'Araceli',
|
|
password: encriptar.encriptar(process.env.ADMIN_PASSWORD),
|
|
});
|
|
};
|
|
|
|
const exe = async () => {
|
|
await drop();
|
|
await sync();
|
|
await dataArea();
|
|
await dataAdmin();
|
|
console.log(
|
|
'\nSe ha instalado exitosamente la base de datos.\n'.underline.bold.green
|
|
);
|
|
|
|
process.exit();
|
|
};
|
|
|
|
exe();
|