UNPKG

860 BJavaScriptView Raw
1'use strict';
2
3var fs = require('fs');
4var path = require('path');
5var Sequelize = require('sequelize');
6var basename = path.basename(module.filename);
7var _ = require('lodash');
8var config = _.get(require(__dirname + '/../core/config'), 'db', {});
9var db = {};
10
11var sequelize = new Sequelize(config.database, config.username, config.password, config);
12
13fs
14 .readdirSync(__dirname)
15 .filter(function(file) {
16 return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js');
17 })
18 .forEach(function(file) {
19 var model = sequelize['import'](path.join(__dirname, file));
20 db[model.name] = model;
21 });
22
23Object.keys(db).forEach(function(modelName) {
24 if (db[modelName].associate) {
25 db[modelName].associate(db);
26 }
27});
28
29db.sequelize = sequelize;
30db.Sequelize = Sequelize;
31
32module.exports = db;