feat: add DBML schema files and relspecgo migration generation
- 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
This commit is contained in:
49
schema/meals.dbml
Normal file
49
schema/meals.dbml
Normal file
@@ -0,0 +1,49 @@
|
||||
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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user