40 lines
926 B
JavaScript
40 lines
926 B
JavaScript
const dbConfig = require('config').get('database');
|
|
const Sequelize = require('sequelize');
|
|
|
|
const sequelize = initDatabase();
|
|
|
|
const db = {};
|
|
|
|
db.Sequelize = Sequelize;
|
|
db.sequelize = sequelize;
|
|
|
|
db.items = require('./item.js')(sequelize, Sequelize);
|
|
|
|
module.exports = db;
|
|
|
|
/**
|
|
* Initializes a sequelize database connection.
|
|
*
|
|
* @return {object} - sequelize connection
|
|
*/
|
|
function initDatabase() {
|
|
let sequelize = null;
|
|
|
|
if (dbConfig.get('driver') == 'sqlite') {
|
|
sequelize = new Sequelize({
|
|
dialect: dbConfig.get('driver'),
|
|
storage: dbConfig.get('connection_string'),
|
|
});
|
|
} else {
|
|
const dbName = dbConfig.get('name');
|
|
const dbUsername = dbConfig.get('username');
|
|
const dbPassword = dbConfig.get('password');
|
|
sequelize = new Sequelize(dbName, dbUsername, dbPassword, {
|
|
dialect: dbConfig.get('driver'),
|
|
host: dbConfig.get('address'),
|
|
});
|
|
}
|
|
|
|
return sequelize;
|
|
}
|