Bootstrap the Application

This commit is contained in:
Makussu 2024-06-05 20:46:35 +02:00
parent 60f3c29717
commit 01e2fd63f5
2 changed files with 40 additions and 4 deletions

View File

@ -1,4 +1,40 @@
const fs = require('fs');
const databaseFile = "mytest.db"
fs.readFile(databaseFile, (err, data) => {
if (err) {
fs.openSync(databaseFile, 'w');
}
})
// DB
const db = require('better-sqlite3')('mytest.db');
const db = require('better-sqlite3')(databaseFile);
// Bootstrap the db
db.exec(`
CREATE TABLE IF NOT EXISTS accounts (
number integer NOT NULL,
name text NOT NULL,
qualifiedName text NOT NULL UNIQUE,
parentAccount text,
description text NOT NULL,
type TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS transactions (
transaction_id integer PRIMARY KEY,
postingDate text NOT NULL,
valueDate text,
title text NOT NULL
);
CREATE TABLE IF NOT EXISTS transaction_entries (
transaction_id int,
account_name text NOT NULL,
amount float,
label text,
FOREIGN KEY (transaction_id) REFERENCES transactions (transaction_id) FOREIGN KEY (account_name) REFERENCES accounts (qualifiedName) PRIMARY KEY (transaction_id, account_name)
);
`)
module.exports = db

View File

@ -1,4 +1,4 @@
CREATE TABLE accounts (
CREATE TABLE IF NOT EXISTS accounts (
number integer NOT NULL,
name text NOT NULL,
qualifiedName text NOT NULL UNIQUE,
@ -7,14 +7,14 @@ CREATE TABLE accounts (
type TEXT NOT NULL,
);
CREATE TABLE transactions (
CREATE TABLE IF NOT EXISTS transactions (
transaction_id integer PRIMARY KEY,
postingDate text NOT NULL,
valueDate text,
title text NOT NULL
);
CREATE TABLE transaction_entries (
CREATE TABLE IF NOT EXISTS transaction_entries (
transaction_id int,
account_name text NOT NULL,
amount float,