Files
directorio_back/server/db/install.js
T
2021-04-27 17:14:42 -05:00

272 lines
11 KiB
JavaScript

require('../config/config');
const colors = require('colors');
const Adscripcion = require('./tablas/Adscripcion');
const Categoria = require('./tablas/Categoria');
const Contacto = require('./tablas/Contacto');
const DatosAcademicos = require('./tablas/DatosAcademicos');
const Edificio = require('./tablas/Edificio');
const Investigador = require('./tablas/Investigador');
const TipoContacto = require('./tablas/TipoContacto');
const TipoDatosAcademicos = require('./tablas/TipoDatosAcademicos');
// const encriptar = require('../helper/encriptar');
const Usuario = require('./tablas/Usuario');
const drop = async () => {
console.log('\nPaso 1) Desinstalando la db.'.bold.blue);
await DatosAcademicos.drop();
console.log('La tabla DatosAcademicos se desinstalo correctamente.'.magenta);
await Contacto.drop();
console.log('La tabla Contacto se desinstalo correctamente.'.magenta);
await Investigador.drop();
console.log('La tabla Investigador se desinstalo correctamente.'.magenta);
await Usuario.drop();
console.log('La tabla Usuario se desinstalo correctamente.'.magenta);
await TipoDatosAcademicos.drop();
console.log('La tabla TipoDatosAcademicos se desinstalo correctamente.'.magenta);
await TipoContacto.drop();
console.log('La tabla TipoContacto se desinstalo correctamente.'.magenta);
await Categoria.drop();
console.log('La tabla Categoria se desinstalo correctamente.'.magenta);
await Edificio.drop();
console.log('La tabla Edificio se desinstalo correctamente.'.magenta);
await Adscripcion.drop();
console.log('La tabla Adscripcion se desinstalo correctamente.'.magenta);
};
const sync = async () => {
console.log('\nPaso 2) Instalando la db.'.bold.blue);
await Categoria.sync();
console.log('La tabla Categoria se instalo correctamente.'.magenta);
await Edificio.sync();
console.log('La tabla Edificio se instalo correctamente.'.magenta);
await Adscripcion.sync();
console.log('La tabla Adscripcion se instalo correctamente.'.magenta);
await TipoContacto.sync();
console.log('La tabla TipoContacto se instalo correctamente.'.magenta);
await TipoDatosAcademicos.sync();
console.log('La tabla TipoDatosAcademicos se instalo correctamente.'.magenta);
await Usuario.sync();
console.log('La tabla Usuario se instalo correctamente.'.magenta);
await Investigador.sync();
console.log('La tabla Investigador se instalo correctamente.'.magenta);
await Contacto.sync();
console.log('La tabla Contacto se instalo correctamente.'.magenta);
await DatosAcademicos.sync();
console.log('La tabla DatosAcademicos se instalo correctamente.'.magenta);
};
const dataTipoDatosAcademicos = async () => {
const data = ['Carrera', 'Maestria', 'Doctorado', 'LineaInv', 'Proyecto'];
console.log('\nPaso 3)Insertando data TipoDatosAcademicos.'.bold.blue);
for (let i = 0; i < data.length; i++) {
await TipoDatosAcademicos.create({
TipoDatosAcademicos: data[i],
});
console.log(`Se agrego el TipoDatosAcademicos ${data[i]}.`.magenta);
}
};
const dataCategoria = async () => {
const data = [
'Investigador de Carrera Asociado Ordinario Nivel "C" de Tiempo Completo Interino',
'Investigador de Carrera Titular Ordinario Nivel "A" de Tiempo Completo Definitivo',
'Investigador de Carrera Titular Ordinario Nivel "B" de Tiempo Completo Definitivo',
'Profesor de Carrera Asociado Ordinario Nivel "A" de Medio Tiempo Interino',
'Profesor de Carrera Asociado Ordinario Nivel "A" de Tiempo Completo Interino',
'Profesor de Carrera Asociado Ordinario Nivel "B" de Medio Tiempo Definitivo',
'Profesor de Carrera Asociado Ordinario Nivel "B" de Tiempo Completo Definitivo',
'Profesor de Carrera Asociado Ordinario Nivel "B" de Tiempo Completo Interino',
'Profesor de Carrera Asociado Ordinario Nivel "B" Medio Tiempo Interino No Definitivo',
'Profesor de Carrera Asociado Ordinario Nivel "B" Tiempo Completo Interino No Definitivo',
'Profesor de Carrera Asociado Ordinario Nivel "C" de Medio Tiempo Definitivo',
'Profesor de Carrera Asociado Ordinario Nivel "C" de Medio Tiempo Interino',
'Profesor de Carrera Asociado Ordinario Nivel "C" de Tiempo Completo Definitivo',
'Profesor de Carrera Asociado Ordinario Nivel "C" de Tiempo Completo Interino',
'Profesor de Carrera Asociado Ordinario Nivel "C" de Tiempo Completo No Definitivo',
'Profesor de Carrera Asociado Ordinario Nivel "C" Tiempo Completo Interino No Definitivo',
'Profesor de Carrera Titular Ordinario Nivel "A" de Medio Tiempo Definitivo',
'Profesor de Carrera Titular Ordinario Nivel "A" de Tiempo Completo Definitivo',
'Profesor de Carrera Titular Ordinario Nivel "A" de Tiempo Completo Interino',
'Profesor de Carrera Titular Ordinario Nivel "A" Medio Tiempo Interino',
'Profesor de Carrera Titular Ordinario Nivel "B" de Tiempo Completo Definitivo',
'Profesor de Carrera Titular Ordinario Nivel "B" de Tiempo Completo No Definitivo',
'Profesor de Carrera Titular Ordinario Nivel "C" de Medio Tiempo Definitivo',
'Profesor de Carrera Titular Ordinario Nivel "C" de Tiempo Completo Definitivo',
'Profesor de Carrera Titular Ordinario Nivel "C" de Tiempo Completo No Definitivo',
'Técnico Académico Asociado "C" tiempo completo NO Definitivo',
'Técnico Académico Asociado Ordinario Nivel "A" de Medio Tiempo Definitivo',
'Técnico Académico Asociado Ordinario Nivel "A" de Tiempo Completo Definitivo',
'Técnico Académico Asociado Ordinario Nivel "A" de Tiempo Completo Interino',
'Técnico Académico Asociado Ordinario Nivel "B" de Tiempo Completo Definitivo',
'Técnico Académico Asociado Ordinario Nivel "B" de Tiempo Completo Interino',
'Técnico Académico Asociado Ordinario Nivel "C" de Medio Tiempo No Definitivo',
'Técnico Académico Asociado Ordinario Nivel "C" de Tiempo Completo Definitivo',
'Técnico Académico Auxiliar Ordinario Nivel "A" de Medio Tiempo Interino',
'Técnico Académico Auxiliar Ordinario Nivel "B" de Medio Tiempo Definitivo',
'Técnico Académico Auxiliar Ordinario Nivel "B" de Tiempo Completo Interino',
'Técnico Académico Auxiliar Ordinario Nivel "C" Tiempo Completo Interino No Definitivo',
'Técnico Académico Titular Ordinario Nivel "A" de Tiempo Completo Definitivo',
'Técnico Académico Titular Ordinario Nivel "B" de Tiempo Completo Definitivo',
'Técnico Académico Titular Ordinario Nivel "C" de Tiempo Completo Definitivo',
]
console.log('\nPaso 4) Insertando data Categoria.'.bold.blue);
for (let i = 0; i < data.length; i++) {
await Categoria.create({
Categoria: data[i],
});
console.log(`Se agrego la Categoria ${data[i]}.`.magenta);
}
}
const dataEdificio = async () => {
const data = [
'No asignado',
'Campus Juriquilla',
'Centro Cultural Acatlán',
'Centro de Desarrollo Tecnológico',
'Centro de Difusión Cultural',
'Centro de Enseñanza de Idiomas',
'Centro de Información y Documentación',
'Centro Tecnológico para la Educación a Distancia',
'COESI',
'Diseño y Edificación',
'Edificio A-1',
'Edificio A-10',
'Edificio A-11',
'Edificio A-12',
'Edificio A-13',
'Edificio A-14',
'Edificio A-15',
'Edificio A-2',
'Edificio A-3',
'Edificio A-4',
'Edificio A-5',
'Edificio A-6',
'Edificio A-7',
'Edificio A-8',
'Edificio A-9',
'Edificio de Apoyo a la Docencia',
'Edificio de Comunicacion y Disenio',
'Edificio de Extensión Cultural',
'Edificio de Gobierno',
'Edificio de Posgrado',
'Edificio de Servicios Generales',
'Edificio de Talleres de Comunicación y Diseño',
'Edificio del Programa de Investigación',
'Gabinete y Tipografía',
'Laboratorios de Ingeniería Civil',
'Posgrado Laboratorios',
'Seminarios',
'Servicios Académicos',
'Talleres y Laboratorios',
'Unidad de Administración Escolar',
'Unidad de Investigación Multidisciplinaria',
'Unidad de Seminarios, planta alta',
'Unidad de Seminarios, planta baja',
]
console.log('\nPaso 5) Insertando data Edificio.'.bold.blue);
for (let i = 0; i < data.length; i++) {
await Edificio.create({
Edificio: data[i],
});
console.log(`Se agrego el Edificio ${data[i]}.`.magenta);
}
}
const dataAdscripcion = async () => {
const data = [
'Departamento de Español para Extranjeros y Lenguas no Indoeuropeas',
'Departamento de Extensión Cultural',
'Departamento de Francés',
'Departamento de Inglés',
'Departamento de Italiano',
'Departamento de Servicio Social y Bolsa de Trabajo',
'División del Sistema Universidad Abierta y Educación a Distancia',
'Especialización en Costos en la Construcción',
'Especialización en Finanzas Públicas',
'Especialización en Geotecnia',
'Especialización en Sistemas de Calidad',
'Maestría en Docencia para la Educación Media Superior',
'Maestría en Estudios México-Estados Unidos',
'Posgrado en Derecho',
'Posgrado en Economía',
'Programa de Actuaría',
'Programa de Arquitectura',
'Programa de Derecho',
'Programa de Diseño Gráfico',
'Programa de Economía',
'Programa de Humanidades',
'Programa de Ingeniería Civil',
'Programa de la Licenciatura en Enseñanza de Inglés',
'Programa de Matemáticas Aplicadas y Computación',
'Programa de Pedagogía',
'Programa de Periodismo y Comunicación Colectiva',
'Programa de Sociología',
'Programa Político',
'Secretaría de Estudios Profesionales',
'Secretaría de la Dirección',
'Secretaría General',
'Unidad de Investigación Multidisciplinaria',
'Unidad de Servicios Editoriales',
'Unidad de Talleres, Laboratorios y Audiovisuales',
'Unidad del Centro de Información y Documentación',
]
console.log('\nPaso 6) Insertando data Adscripcion.'.bold.blue);
for (let i = 0; i < data.length; i++) {
await Adscripcion.create({
Adscripcion: data[i],
});
console.log(`Se agrego la Adscripcion ${data[i]}.`.magenta);
}
}
const dataTipoContacto = async () => {
const data = ['Correo', 'Telefono'];
console.log('\nPaso 7)Insertando data TipoContacto.'.bold.blue);
for (let i = 0; i < data.length; i++) {
await TipoContacto.create({
TipoContacto: data[i],
});
console.log(`Se agrego el TipoContacto ${data[i]}.`.magenta);
}
};
const exe = async () => {
await drop();
await sync();
await dataTipoDatosAcademicos();
await dataCategoria();
await dataEdificio();
await dataAdscripcion();
await dataTipoContacto();
console.log(
'\nSe ha instalado exitosamente la base de datos.\n'.underline.bold.green
);
process.exit();
};
exe();