36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
const sqlite3 = require("sqlite3").verbose();
|
|
const sqlMysql = require("sql-mysql");
|
|
export const db = new sqlite3.Database(":memory:");
|
|
var Parser = require("sqlparser");
|
|
import fs from "fs";
|
|
// const mysqlQuery = 'SELECT * FROM users WHERE age > 18';
|
|
// const sqliteQuery = sqlMysql.toSqlite(mysqlQuery);
|
|
// console.log(sqliteQuery)
|
|
export function initDatabase() {
|
|
return new Promise((resolve, reject) => {
|
|
const pathSQL = __dirname + "/../../../db/structureV2.sql";
|
|
// fs.readdir(__dirname + "/../../../db/structureV2.sql", (err, files) => {
|
|
// if (err) console.log(err);
|
|
// else {
|
|
// console.log("\nCurrent directory filenames:");
|
|
// files.forEach((file) => {
|
|
// console.log(file);
|
|
// });
|
|
// }
|
|
// });
|
|
const sqlTables = fs.readFileSync(pathSQL, "utf8");
|
|
// const sqliteTables = sqlMysql.toSqlite(sqlTables);
|
|
var sqliteTables = Parser.parse(sqlTables);
|
|
|
|
db.serialize(() => {
|
|
db.run(sqliteTables, (error) => {
|
|
if (error) {
|
|
reject(error);
|
|
} else {
|
|
resolve(true);
|
|
}
|
|
});
|
|
});
|
|
});
|
|
}
|