-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdb.js
More file actions
62 lines (49 loc) · 1.5 KB
/
db.js
File metadata and controls
62 lines (49 loc) · 1.5 KB
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
// const dbFileName = "linkedOut.sqlite";
// const sqlCreateTableFileName = "createTables.sql";
const dbFileName = "linkedOutSimple.sqlite";
const sqlCreateTableFileName = "SQL_Database_Create.sql";
const sqlInsertDataFileName = 'Insert_Dummy_data.sql';
var sqlite3 = require("sqlite3").verbose();
var db = new sqlite3.Database(dbFileName);
// Main function
exports.createDB = function () {
console.log("Initializing database");
db.serialize(function () {
runSqlFile(sqlCreateTableFileName, function(data) {
db.exec(data, (err) => {
if (err) {
console.log('DB construction failed.');
throw err;
// return;
}
});
console.log('DB created');
populateDB();
});
});
}
function runSqlFile(filename, callback) {
var fs = require("fs");
fs.readFile(filename, "utf-8", (err, data) => {
if (err != null) {
throw err;
} else {
callback(data);
}
});
}
exports.populateDB = populateDB;
function populateDB() {
console.log('Inserting test data....');
db.serialize(function() {
runSqlFile(sqlInsertDataFileName, function(data) {
db.exec(data, function(err) {
if (err) {
console.log('Test data insert failed');
return;
}
});
console.log('Test data insert complete.');
});
});
}