Compare commits
2 Commits
07b66ddeba
...
0baa651b43
| Author | SHA1 | Date |
|---|---|---|
|
|
0baa651b43 | |
|
|
3a522aa028 |
72
db.js
72
db.js
|
|
@ -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 cocktail–ingredienti
|
||||||
|
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;
|
||||||
Loading…
Reference in New Issue