Files
formulation/migrations/003_inventory.sql
T

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);