Pantry
schema.sql 31 lines
Files · 8
12345678910111213141516171819202122232425262728293031CREATE TABLE quantity_units (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
name_plural TEXT,
description TEXT
);
CREATE TABLE products (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
description TEXT,
location_id INTEGER,
qu_id_purchase INTEGER REFERENCES quantity_units(id),
qu_id_stock INTEGER REFERENCES quantity_units(id),
min_stock_amount REAL NOT NULL DEFAULT 0 CHECK (min_stock_amount >= 0),
default_best_before_days INTEGER NOT NULL DEFAULT 0 CHECK (default_best_before_days >= 0),
default_best_before_days_after_open INTEGER NOT NULL DEFAULT 0 CHECK (default_best_before_days_after_open >= 0),
product_group_id INTEGER
);
CREATE TABLE stock_entries (
id INTEGER PRIMARY KEY AUTOINCREMENT,
product_id INTEGER NOT NULL REFERENCES products(id),
location_id INTEGER,
amount REAL NOT NULL CHECK (amount > 0),
best_before_date TEXT,
purchased_date TEXT,
stock_id TEXT NOT NULL UNIQUE DEFAULT ('local-' || lower(hex(randomblob(8)))),
price REAL,
open INTEGER NOT NULL DEFAULT 0 CHECK (open IN (0, 1)),
opened_date TEXT,
note TEXT
);