spee.ch/models/index.js
Fillerino 085d099040 Edited code to be ES6, added eslint and some basic linting configuration
Edited code to be ES6, added eslint and some basic linting configuration,(also includes husky for auto eslint before push)
2017-06-17 22:51:30 +02:00

34 lines
909 B
JavaScript

const fs = require('fs')
const path = require('path')
const Sequelize = require('sequelize')
const basename = path.basename(module.filename)
const config = require('config')
const db = {}
const connectionUri = config.get('Database.MySqlConnectionUri')
const sequelize = new Sequelize(connectionUri)
sequelize
.authenticate()
.then(() => {
console.log('Connection has been established successfully.')
})
.catch(err => {
console.error('Unable to connect to the database:', err)
})
fs.readdirSync(__dirname).filter(file => file.indexOf('.') !== 0 && file !== basename && file.slice(-3) === '.js').forEach(file => {
const 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