29 lines
576 B
JavaScript
29 lines
576 B
JavaScript
|
const sqlite3 = require('sqlite3');
|
||
|
const fs = require('fs');
|
||
|
|
||
|
const dbPath = 'vybe.db';
|
||
|
|
||
|
const db = new sqlite3.Database(dbPath);
|
||
|
|
||
|
db.query = function (sql, params) {
|
||
|
let self = this;
|
||
|
return new Promise((resolve, reject) => {
|
||
|
self.all(sql, params, (error, rows) => {
|
||
|
if (error)
|
||
|
reject(error);
|
||
|
else
|
||
|
resolve({ rows: rows });
|
||
|
});
|
||
|
});
|
||
|
};
|
||
|
|
||
|
(async () => {
|
||
|
if (fs.existsSync(dbPath))
|
||
|
return;
|
||
|
for (let sql of fs.readFileSync('./db/1-init.sql').toString().split(';'))
|
||
|
if (sql)
|
||
|
await db.query(sql);
|
||
|
})();
|
||
|
|
||
|
module.exports = db;
|