-
Notifications
You must be signed in to change notification settings - Fork 0
/
database.js
58 lines (52 loc) · 1.42 KB
/
database.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
var DATABASE = process.env.DB_NAME || 'wheniwasyourage';
var USERNAME = process.env.DB_USERNAME || 'kaleysullivan';
var PASSWORD = process.env.DB_PASSWORD || "";
var Sequelize = require('sequelize');
// postgres://[username]:[password]@[host]:[port]/[databaseName]
// postgres://ifudimhkmajrvj:0zRVFq2uknpRlLxxAMngohjLaC@ec2-54-83-59-203.compute-1.amazonaws.com:5432/d2u2h5u9avhsrs
var seq = new Sequelize(DATABASE, USERNAME, PASSWORD, {
host: process.env.DB_HOST ||'localhost',
//COMMENT OUT PORT LINE if this doesn't work on local machine, it's not needed for local
port: process.env.DB_PORT || 5432,
dialect: 'postgres',
pool: {
max: 5,
min: 0,
idle: 10000
},
define: {
freezeTableName: true,
underscored: true,
underscoredAll: true
}
});
seq
.authenticate()
.then(function(err) {
console.log('Connection has been established successfully.');
}, function (err) {
console.log('Unable to connect to the database:', err);
});
var Event = seq.define('event', {
text: Sequelize.TEXT,
year: Sequelize.INTEGER,
score: Sequelize.INTEGER,
links: Sequelize.TEXT //space delineated string
},{
indexes: [
{
name: 'multi_collumn',
fields: ['year', 'score'],
},
{
name: 'btree_index',
method: 'BTREE',
fields: ['year', {attribute: 'score', order: 'DESC', length: 5}]
}]
});
//starts database
// seq.sync()
module.exports = {
seq: seq,
EventModel: Event
};