Context: I'm working on a Web App with Express Backend (Express & SQLite as Database)
Problem: If i make an API Call to Update some Rows in the Database, it (seems) to be working. If i query it, the Fields are Updated.
But if i stop/restart the Express Application, changes are reset.
My SQLite Function
import sqlite3 from "sqlite3";
import path from "path";
import { logger as _logger } from "../Shared";
let db: sqlite3.Database;
export const OpenDatabase = () => db = new sqlite3.Database(path.resolve(__dirname, 'cmsfm.sqlite3'), sqlite3.OPEN_READWRITE);
export const CloseDatabase = () => db.close();
export const SQLiteQuery = async (query: string) => new Promise((resolve, reject) => {
OpenDatabase();
db.all(query, (err, row) => {
if (err) {
reject(err);
} else {
resolve(row);
}
})
CloseDatabase();
});
Implementation (Get):
const fahrzeug = await SQLiteQuery(
`SELECT ${req.query.resultField} FROM fahrzeugdaten WHERE ${req.query.findBy} = "${req.query.find}"`
);
res.send(fahrzeug).status(200).end();
Implementation (Update)
SQLiteQuery(
`UPDATE fahrzeugdaten SET ${req.query.update} = "${req.query.value}" WHERE ${req.query.findBy} = "${req.query.find}"`
);
Anyone got a familiar Problem?