Node SQLite3 Changes not saved

Viewed 341

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?

0 Answers
Related