mail/back/test/test-utils/db/test-db.ts
2023-04-04 15:13:38 +02:00

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);
}
});
});
});
}