Skip to content

Instantly share code, notes, and snippets.

@JosielFaleiros
Created March 17, 2018 04:39
Show Gist options
  • Save JosielFaleiros/7cd492097612bc6267ab3907c3c6059c to your computer and use it in GitHub Desktop.
Save JosielFaleiros/7cd492097612bc6267ab3907c3c6059c to your computer and use it in GitHub Desktop.
Sequelize database connection and models including
"use strict"
const fs = require("fs")
const path = require("path")
const Sequelize = require('sequelize')
const basename = path.basename(__filename)
const config = require(__dirname + '/../../config/config.js')[process.env.NODE_ENV || 'production']
const sequelize = new Sequelize(config.database, config.username, config.password, config)
var db = {}
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)
}
})
// sequelize.sync().then(function() {
// console.log('syncronized? sequelize')
// })
db.sequelize = sequelize
db.Sequelize = Sequelize
sequelize.sync({force: false})
module.exports = db
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment