app2-api/core/models.js
2019-04-15 12:13:17 +02:00

49 lines
1.2 KiB
JavaScript

const glob = require('glob');
const path = require('path');
const Sequelize = require('sequelize');
const modulesDir = path.resolve(__dirname + '/../modules/')
const basename = path.basename(__dirname);
const globOptions = {
cwd: modulesDir,
nocase: true,
nodir: true,
absolute: true,
}
module.exports = async function () {
const server = this;
server.log.info('Configurando DB.');
const sequelize = new Sequelize(
server.config.database.database,
server.config.database.username,
server.config.database.password,
server.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);
}
});
server.log.debug(db);
return db;
}