scripts de db, listos

This commit is contained in:
KIKIN
2020-08-11 14:00:28 -05:00
parent 16999f5c6c
commit 013a6b27ea
8 changed files with 206 additions and 8 deletions
+9
View File
@@ -0,0 +1,9 @@
TYPEDB = mariadb
DB = ejemploCenso
USERDB = censoDev
PASSDB = holaC3ns0
HOSTDB = localhost
+86 -6
View File
@@ -22,8 +22,12 @@
"@types/color-name": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
"dev": true
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ=="
},
"@types/geojson": {
"version": "7946.0.7",
"resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.7.tgz",
"integrity": "sha512-wE2v81i4C4Ol09RtsWFAqg3BUitWbHSpSlIo+bNdsCJijO9sjme+zm+73ZMCa/qMC8UEERxzGbvmr1cffo2SiQ=="
},
"@types/node": {
"version": "14.0.27",
@@ -96,7 +100,6 @@
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
"integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
"dev": true,
"requires": {
"@types/color-name": "^1.1.1",
"color-convert": "^2.0.1"
@@ -402,7 +405,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
"color-name": "~1.1.4"
}
@@ -410,8 +412,12 @@
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"colors": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
"integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA=="
},
"concat-map": {
"version": "0.0.1",
@@ -1122,6 +1128,38 @@
"resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
"integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w="
},
"log-symbols": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz",
"integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==",
"requires": {
"chalk": "^4.0.0"
},
"dependencies": {
"chalk": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
"integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
},
"supports-color": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
"integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
"requires": {
"has-flag": "^4.0.0"
}
}
}
},
"long": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
@@ -1158,6 +1196,35 @@
}
}
},
"mariadb": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/mariadb/-/mariadb-2.4.2.tgz",
"integrity": "sha512-ybK520CO/8Z74MNJ77dEwXjRMhxMbQdpPia+/uJakJWiZoLEmuwSHqs51qWr4FE5WcgHQfL5KCmOiHErR/LpTg==",
"requires": {
"@types/geojson": "^7946.0.7",
"@types/node": "^13.9.8",
"denque": "^1.4.1",
"iconv-lite": "^0.5.1",
"long": "^4.0.0",
"moment-timezone": "^0.5.31",
"please-upgrade-node": "^3.2.0"
},
"dependencies": {
"@types/node": {
"version": "13.13.15",
"resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.15.tgz",
"integrity": "sha512-kwbcs0jySLxzLsa2nWUAGOd/s21WU1jebrEdtzhsj1D4Yps1EOuyI1Qcu+FD56dL7NRNIJtDDjcqIG22NwkgLw=="
},
"iconv-lite": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.2.tgz",
"integrity": "sha512-kERHXvpSaB4aU3eANwidg79K8FlrN77m8G9V+0vOR3HYaRifrlwMEpT7ZBJqLSEIHnEgJTHcWK82wwLwwKwtag==",
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
}
}
},
"media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@@ -1505,6 +1572,14 @@
"integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
"dev": true
},
"please-upgrade-node": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
"integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==",
"requires": {
"semver-compare": "^1.0.0"
}
},
"prepend-http": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
@@ -1681,6 +1756,11 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
},
"semver-compare": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
"integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w="
},
"semver-diff": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz",
+6 -1
View File
@@ -4,16 +4,21 @@
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"test": "echo \"Error: no test specified\" && exit 1",
"test:db": "node server/config/test",
"install:db": "node server/models/install"
},
"author": "",
"license": "ISC",
"dependencies": {
"bcrypt": "^5.0.0",
"colors": "^1.4.0",
"cors": "^2.8.5",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"jsonwebtoken": "^8.5.1",
"log-symbols": "^4.0.0",
"mariadb": "^2.4.2",
"moment": "^2.27.0",
"mysql2": "^2.1.0",
"sequelize": "^6.3.4"
+1 -1
View File
@@ -12,7 +12,7 @@ try {
}
process.env.TYPE_DB = process.env.TYPE_DB || 'mariadb'
process.env.DB = process.env.DB || 'ejem'
process.env.DB = process.env.DB || 'ejemplo'
process.env.USER_DB = process.env.USER_DB || 'root'
process.env.PASSWORD_DB = process.env.PASSWORD_DB || ''
process.env.HOST_DB = process.env.HOST_DB || 'localhost'
+20
View File
@@ -0,0 +1,20 @@
const Sequelize = require("sequelize");
require("./config");
const sequelize = new Sequelize(
process.env.DB,
process.env.USERDB,
process.env.PASSDB,
{
host: process.env.HOSTDB,
dialect: process.env.TYPEDB,
logging: false,
dialectOptions: {
useUTC: false //for reading from database
},
timezone: "-05:00" //for writing to database
}
);
module.exports = sequelize;
+15
View File
@@ -0,0 +1,15 @@
const Sequelize = require("sequelize");
const sequelize = require("./sequelize.conf");
const colors = require("colors");
sequelize
.authenticate()
.then(() => {
console.log("Conexión establecida con éxito.".green);
process.exit();
})
.catch(err => {
console.error("No se ha podido establacer conexión con la base de datos:".red, err);
process.exit();
});
+41
View File
@@ -0,0 +1,41 @@
const logSymbols = require("log-symbols");
const colors = require("colors");
const bcrypt = require("bcrypt");
const admin = require("./tablas/Admin");
require("../config/config");
async function remove() {
console.log(logSymbols.info, "Paso 1 : Borrando base de datos \n".blue.bold);
await admin.drop();
console.log(logSymbols.success, "admin");
}
async function install() {
console.log(
logSymbols.info,
"Paso 2 : Instalando base de datos \n".blue.bold
);
await admin.sync();
console.log(logSymbols.success, "admin");
//crear clave foranea de una tabla a otra, ejemplo
// responsable.hasMany(programa, {
// foreignKey: "idResponsable",
// });
}
async function exec() {
await remove();
await install();
console.log(logSymbols.success, "Éxito al instalar \n".underline.bold.green);
process.exit();
}
exec();
+28
View File
@@ -0,0 +1,28 @@
const Sequelize = require("sequelize");
const sequelize = require("../../config/sequelize.conf");
class Admin extends Sequelize.Model {}
Admin.init(
{
idAdmin: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true,
allowNull: false,
},
nombre: {
type: Sequelize.STRING(50),
allowNull: false,
},
password: {
type: Sequelize.STRING(100),
allowNull: false,
},
},
{
sequelize,
tableName: "admin",
}
);
module.exports = Admin;