1 | 'use strict';
|
2 |
|
3 | var fs = require('fs');
|
4 | var path = require('path');
|
5 | var Sequelize = require('sequelize');
|
6 | var basename = path.basename(module.filename);
|
7 | var _ = require('lodash');
|
8 | var config = _.get(require(__dirname + '/../core/config'), 'db', {});
|
9 | var db = {};
|
10 |
|
11 | var sequelize = new Sequelize(config.database, config.username, config.password, config);
|
12 |
|
13 | fs
|
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 |
|
23 | Object.keys(db).forEach(function(modelName) {
|
24 | if (db[modelName].associate) {
|
25 | db[modelName].associate(db);
|
26 | }
|
27 | });
|
28 |
|
29 | db.sequelize = sequelize;
|
30 | db.Sequelize = Sequelize;
|
31 |
|
32 | module.exports = db;
|