38 lines
1.1 KiB
SQL
38 lines
1.1 KiB
SQL
PRAGMA foreign_keys = ON;
|
|
|
|
CREATE TABLE IF NOT EXISTS inventory_locations (
|
|
id TEXT PRIMARY KEY,
|
|
name TEXT NOT NULL,
|
|
position INTEGER NOT NULL,
|
|
deleted_at TEXT
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS inventory_counts (
|
|
id TEXT PRIMARY KEY,
|
|
title TEXT NOT NULL,
|
|
counted_at TEXT NOT NULL,
|
|
status TEXT NOT NULL DEFAULT 'open',
|
|
notes TEXT,
|
|
created_at TEXT NOT NULL,
|
|
deleted_at TEXT
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS inventory_count_items (
|
|
count_id TEXT NOT NULL REFERENCES inventory_counts(id) ON DELETE CASCADE,
|
|
location_id TEXT REFERENCES inventory_locations(id),
|
|
ingredient_id TEXT NOT NULL REFERENCES ingredients(id),
|
|
quantity REAL NOT NULL,
|
|
unit_id TEXT NOT NULL REFERENCES units(id),
|
|
unit_cost REAL,
|
|
extended_cost REAL,
|
|
PRIMARY KEY (count_id, location_id, ingredient_id)
|
|
);
|
|
|
|
-- Seed baseline standard locations if table is empty
|
|
INSERT OR IGNORE INTO inventory_locations (id, name, position, deleted_at) VALUES
|
|
('loc_walk_in', 'Walk-in Cooler', 1, NULL),
|
|
('loc_dry_storage', 'Dry Storage', 2, NULL),
|
|
('loc_freezer', 'Freezer', 3, NULL),
|
|
('loc_bar', 'Bar & Service', 4, NULL),
|
|
('loc_line', 'Prep Line', 5, NULL);
|