Files
Ucharify_api/app/config/db.config.js
2019-01-19 00:42:56 -08:00

54 lines
1.5 KiB
JavaScript

const Sequelize = require('sequelize'),
DonorModel = require('../models/donor.model.js'),
GrantModel = require('../models/grant.model.js'),
CauseModel = require('../models/cause.model.js'),
RegionModel = require('../models/region.model.js'),
OrganizationModel = require('../models/organization.model.js'),
associate = require('./associate');
const connection_uri = process.env.JAWSDB_MARIA_URL;
const sequelize = new Sequelize(connection_uri, {
operatorsAliases: false,
// research for pool/connections
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000
},
// default options for all models
define: {
underscored: true, // true: use underscore for automatically added attributes like timestamps below
freezeTableName: true, // true: table name/first parameter of define method will be table name
timestamps: true // createdAt and updatedAt automatically added
},
// disable logging; default: console.log
logging: false
});
const db = {};
//creating tables/models from imported functions
const Donor = DonorModel(sequelize, Sequelize);
const Grant = GrantModel(sequelize, Sequelize);
const Cause = CauseModel(sequelize, Sequelize);
const Region = RegionModel(sequelize, Sequelize);
const Organization = OrganizationModel(sequelize, Sequelize);
db.Donor = Donor;
db.Grant = Grant;
db.Cause = Cause;
db.Region = Region;
db.Organization = Organization;
// make associations with created models
associate(db);
db.Sequelize = Sequelize;
db.sequelize = sequelize;
module.exports = db;