-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdatabase.js
65 lines (63 loc) · 1.55 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
59
60
61
62
63
64
65
var Define = require('./Define');
var mysql = require('mysql');
var fs = require('fs');
var connection = mysql.createConnection({
host : Define.db.host,
user : Define.db.user,
password : Define.db.password,
database : Define.db.database,
connectTimeout: 28800
});
/**
* the timeout is made to, make sure that we do not lose the connection to the db
* @type {Object}
*/
var timeout = setTimeout(function() {
connection.query("SELECT 1", function(error) {});
}, (28740 * 1000));
connection.on('error', function(err) {
connection = mysql.createConnection({
host : Define.db.host,
user : Define.db.user,
password : Define.db.password,
database : Define.db.database,
connectTimeout: 28800
});
});
module.exports = {
bt: function (callback) {
connection.beginTransaction(function(err) {
if (err) { throw err; }
callback();
});
},
c: function (callback) {
connection.commit(function(err) {
if (err) {
connection.rollback(function() {
saveLog(err, function () {
console.log('Transaction failed!');
callback();
});
}.bind(this));
}else{
callback();
}
}.bind(this));
},
query: function (query, callback) {
connection.query(query, function(err, rows, fields) {
//console.log("get query data");
//console.log("err: "+ err);
if (err){
console.log(query);
console.error('query failed: ' + err);
};
//console.log("sql rows: "+ rows.length);
callback(rows);
}.bind(this));
},
real: function (text) {
return connection.escape(text);
}
};