Update db.js

This commit is contained in:
Luigi Negri 2026-01-30 11:03:16 +00:00
parent 07b66ddeba
commit 3a522aa028
1 changed files with 72 additions and 2 deletions

72
db.js
View File

@ -6,7 +6,7 @@ const db = new sqlite3.Database(path.join(__dirname, 'cocktails.db'), (err) => {
else console.log('Connected to SQLite'); else console.log('Connected to SQLite');
}); });
// Crea tabella se non esiste // 1) Tabella cocktail (come già avevi)
db.run(` db.run(`
CREATE TABLE IF NOT EXISTS cocktails ( CREATE TABLE IF NOT EXISTS cocktails (
id INTEGER PRIMARY KEY AUTOINCREMENT, id INTEGER PRIMARY KEY AUTOINCREMENT,
@ -26,4 +26,74 @@ db.run(`
) )
`); `);
// 2) Tabella ingredienti normalizzati
db.run(`
CREATE TABLE IF NOT EXISTS ingredients (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
category TEXT,
style TEXT,
abv REAL
)
`);
// 3) Relazione cocktailingredienti
db.run(`
CREATE TABLE IF NOT EXISTS cocktail_ingredients (
cocktail_id INTEGER NOT NULL,
ingredient_id INTEGER NOT NULL,
amount TEXT,
unit TEXT,
order_index INTEGER,
PRIMARY KEY (cocktail_id, ingredient_id),
FOREIGN KEY (cocktail_id) REFERENCES cocktails(id),
FOREIGN KEY (ingredient_id) REFERENCES ingredients(id)
)
`);
// 4) Tabella inventario bottiglie (con codice a barre)
db.run(`
CREATE TABLE IF NOT EXISTS inventory_items (
id INTEGER PRIMARY KEY AUTOINCREMENT,
ingredient_id INTEGER NOT NULL,
brand TEXT,
label_name TEXT,
barcode TEXT,
bottle_size_ml INTEGER,
bottle_type TEXT,
origin_country TEXT,
region TEXT,
style TEXT,
abv REAL,
current_level_fraction REAL DEFAULT 1.0,
current_level_ml REAL,
condition TEXT,
location TEXT,
storage_notes TEXT,
is_active INTEGER DEFAULT 1,
opened_at TEXT,
purchase_price REAL,
purchase_currency TEXT,
purchase_date TEXT,
supplier TEXT,
par_level_bottles REAL,
reorder_point_bottles REAL,
reorder_qty_bottles REAL,
status TEXT,
last_count_at TEXT,
is_collectible INTEGER DEFAULT 0,
personal_rating REAL,
tasting_notes TEXT,
created_at TEXT DEFAULT CURRENT_TIMESTAMP,
updated_at TEXT,
FOREIGN KEY (ingredient_id) REFERENCES ingredients(id)
)
`);
module.exports = db; module.exports = db;