diff options
| author | Adam Soltys <[email protected]> | 2018-01-28 21:21:53 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2018-01-28 21:21:53 -0800 |
| commit | 5e19d99e48b9c323ecf3795ea77f1e7e7885e4f5 (patch) | |
| tree | 820ce6151258f8e7879edd3615ee331e52b24486 /models/index.js | |
| parent | 3a26111203f406bd94a2603fe8793c2e5becb737 (diff) | |
| download | coinos-server-5e19d99e48b9c323ecf3795ea77f1e7e7885e4f5.tar.gz coinos-server-5e19d99e48b9c323ecf3795ea77f1e7e7885e4f5.zip | |
use sequelize and mysql
Diffstat (limited to 'models/index.js')
| -rw-r--r-- | models/index.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/models/index.js b/models/index.js new file mode 100644 index 00000000..5662f105 --- /dev/null +++ b/models/index.js @@ -0,0 +1,36 @@ +'use strict'; + +var fs = require('fs'); +var path = require('path'); +var Sequelize = require('sequelize'); +var basename = path.basename(__filename); +var env = process.env.NODE_ENV || 'development'; +var config = require(__dirname + '/../config/config.json')[env]; +var db = {}; + +if (config.use_env_variable) { + var sequelize = new Sequelize(process.env[config.use_env_variable], config); +} else { + var sequelize = new Sequelize(config.database, config.username, config.password, config); +} + +fs + .readdirSync(__dirname) + .filter(file => { + return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js'); + }) + .forEach(file => { + var model = sequelize['import'](path.join(__dirname, file)); + db[model.name] = model; + }); + +Object.keys(db).forEach(modelName => { + if (db[modelName].associate) { + db[modelName].associate(db); + } +}); + +db.sequelize = sequelize; +db.Sequelize = Sequelize; + +module.exports = db; |
