- Add schema/*.dbml covering all existing tables (001-019) - Wire relspecgo via make generate-migrations target - Add make check-schema-drift for CI drift detection - Add schema/README.md documenting the DBML-first workflow Closes #19
50 lines
1.1 KiB
Plaintext
50 lines
1.1 KiB
Plaintext
Table recipes {
|
|
id uuid [pk, default: `gen_random_uuid()`]
|
|
name text [not null]
|
|
cuisine text
|
|
prep_time_minutes int
|
|
cook_time_minutes int
|
|
servings int
|
|
ingredients jsonb [not null, default: `'[]'`]
|
|
instructions jsonb [not null, default: `'[]'`]
|
|
tags "text[]" [not null, default: `'{}'`]
|
|
rating int
|
|
notes text
|
|
created_at timestamptz [not null, default: `now()`]
|
|
updated_at timestamptz [not null, default: `now()`]
|
|
|
|
indexes {
|
|
cuisine
|
|
tags
|
|
}
|
|
}
|
|
|
|
Table meal_plans {
|
|
id uuid [pk, default: `gen_random_uuid()`]
|
|
week_start date [not null]
|
|
day_of_week text [not null]
|
|
meal_type text [not null]
|
|
recipe_id uuid [ref: > recipes.id]
|
|
custom_meal text
|
|
servings int
|
|
notes text
|
|
created_at timestamptz [not null, default: `now()`]
|
|
|
|
indexes {
|
|
week_start
|
|
}
|
|
}
|
|
|
|
Table shopping_lists {
|
|
id uuid [pk, default: `gen_random_uuid()`]
|
|
week_start date [unique, not null]
|
|
items jsonb [not null, default: `'[]'`]
|
|
notes text
|
|
created_at timestamptz [not null, default: `now()`]
|
|
updated_at timestamptz [not null, default: `now()`]
|
|
|
|
indexes {
|
|
week_start
|
|
}
|
|
}
|