feat(db): add meal_plans, slots, prep_sessions, prep_tasks migrations (022-025)
This commit is contained in:
parent
192ecc7078
commit
3235fb365f
4 changed files with 44 additions and 0 deletions
8
app/db/migrations/022_meal_plans.sql
Normal file
8
app/db/migrations/022_meal_plans.sql
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
-- 022_meal_plans.sql
|
||||||
|
CREATE TABLE meal_plans (
|
||||||
|
id INTEGER PRIMARY KEY,
|
||||||
|
week_start TEXT NOT NULL,
|
||||||
|
meal_types TEXT NOT NULL DEFAULT '["dinner"]',
|
||||||
|
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
||||||
|
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
||||||
|
);
|
||||||
11
app/db/migrations/023_meal_plan_slots.sql
Normal file
11
app/db/migrations/023_meal_plan_slots.sql
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
-- 023_meal_plan_slots.sql
|
||||||
|
CREATE TABLE meal_plan_slots (
|
||||||
|
id INTEGER PRIMARY KEY,
|
||||||
|
plan_id INTEGER NOT NULL REFERENCES meal_plans(id) ON DELETE CASCADE,
|
||||||
|
day_of_week INTEGER NOT NULL CHECK(day_of_week BETWEEN 0 AND 6),
|
||||||
|
meal_type TEXT NOT NULL,
|
||||||
|
recipe_id INTEGER REFERENCES recipes(id),
|
||||||
|
servings REAL NOT NULL DEFAULT 2.0,
|
||||||
|
custom_label TEXT,
|
||||||
|
UNIQUE(plan_id, day_of_week, meal_type)
|
||||||
|
);
|
||||||
10
app/db/migrations/024_prep_sessions.sql
Normal file
10
app/db/migrations/024_prep_sessions.sql
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
-- 024_prep_sessions.sql
|
||||||
|
CREATE TABLE prep_sessions (
|
||||||
|
id INTEGER PRIMARY KEY,
|
||||||
|
plan_id INTEGER NOT NULL REFERENCES meal_plans(id) ON DELETE CASCADE,
|
||||||
|
scheduled_date TEXT NOT NULL,
|
||||||
|
status TEXT NOT NULL DEFAULT 'draft'
|
||||||
|
CHECK(status IN ('draft','reviewed','done')),
|
||||||
|
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
||||||
|
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
||||||
|
);
|
||||||
15
app/db/migrations/025_prep_tasks.sql
Normal file
15
app/db/migrations/025_prep_tasks.sql
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
-- 025_prep_tasks.sql
|
||||||
|
CREATE TABLE prep_tasks (
|
||||||
|
id INTEGER PRIMARY KEY,
|
||||||
|
session_id INTEGER NOT NULL REFERENCES prep_sessions(id) ON DELETE CASCADE,
|
||||||
|
recipe_id INTEGER REFERENCES recipes(id),
|
||||||
|
slot_id INTEGER REFERENCES meal_plan_slots(id),
|
||||||
|
task_label TEXT NOT NULL,
|
||||||
|
duration_minutes INTEGER,
|
||||||
|
sequence_order INTEGER NOT NULL,
|
||||||
|
equipment TEXT,
|
||||||
|
is_parallel INTEGER NOT NULL DEFAULT 0,
|
||||||
|
notes TEXT,
|
||||||
|
user_edited INTEGER NOT NULL DEFAULT 0,
|
||||||
|
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
||||||
|
);
|
||||||
Loading…
Reference in a new issue