2016-01-26 19:42:30 -06:00
|
|
|
"use strict";
|
|
|
|
|
|
2016-01-27 20:15:09 -06:00
|
|
|
import fs from "fs";
|
|
|
|
|
import Sequelize from 'sequelize';
|
|
|
|
|
|
2016-02-07 15:32:02 -06:00
|
|
|
var sequelize = new Sequelize("postgres://spikeuser:123456@localhost:5432/spike2", {
|
2016-01-27 20:15:09 -06:00
|
|
|
pool: {
|
|
|
|
|
max: 5,
|
|
|
|
|
min: 0,
|
|
|
|
|
idle: 10000
|
|
|
|
|
}
|
|
|
|
|
});
|
2016-02-09 11:16:49 -06:00
|
|
|
const MODEL_DIR = __dirname + '/../models'
|
2016-01-26 19:42:30 -06:00
|
|
|
|
|
|
|
|
class Database {
|
|
|
|
|
|
|
|
|
|
static sync(){
|
2016-01-31 19:09:52 -06:00
|
|
|
console.log("syncing db")
|
2016-02-09 11:16:49 -06:00
|
|
|
fs.readdirSync(MODEL_DIR).forEach(function(file) {
|
|
|
|
|
var model = require(MODEL_DIR + '/' + file);
|
|
|
|
|
Database[model.NAME] = model;
|
2016-01-27 20:15:09 -06:00
|
|
|
Database.models.push(model);
|
|
|
|
|
});
|
2016-01-26 19:42:30 -06:00
|
|
|
|
|
|
|
|
// add associations
|
2016-01-27 20:15:09 -06:00
|
|
|
for (var model of Database.models){
|
2016-01-31 17:18:27 -06:00
|
|
|
model.set();
|
2016-01-26 19:42:30 -06:00
|
|
|
}
|
|
|
|
|
|
2016-01-31 19:09:52 -06:00
|
|
|
return sequelize.sync().then(()=>{ console.log("done syncing db") });
|
2016-01-26 19:42:30 -06:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
Database.sequelize = sequelize;
|
2016-01-27 20:15:09 -06:00
|
|
|
Database.Sequelize = Sequelize;
|
|
|
|
|
Database.models = [];
|
2016-01-26 19:42:30 -06:00
|
|
|
|
2016-01-27 20:15:09 -06:00
|
|
|
export default Database;
|