app2-api/core/models.js
2019-04-24 23:01:54 +02:00

45 lines
1008 B
JavaScript

const glob = require('glob');
const path = require('path');
const Sequelize = require('sequelize');
const config = require('../config');
const log = require('./logger');
const modulesDir = path.resolve(__dirname + '/../modules/')
const globOptions = {
cwd: modulesDir,
nocase: true,
nodir: true,
absolute: true,
}
log.info('Configurando DB.');
const sequelize = new Sequelize(
config.database.database,
config.database.username,
config.database.password,
config.database, {
dialect: 'mysql',
operatorAliases: false
}
);
const db = {};
db.sequelize = sequelize;
db.Sequelize = Sequelize;
glob.sync("**/*.model.js", globOptions)
.forEach(function (file) {
var model = sequelize.import(file);
log.info('Loading "' + model.name + '" model.');
db[model.name] = model;
});
Object.keys(db).forEach(function (modelName) {
if (db[modelName].associate) {
db[modelName].associate(db);
}
});
module.exports = db;