feat(backend): persist plan scores on MealPlanItem

- Migration 0012 adds score (float) and components (jsonb) to meal_plan_item
- generate.py: populates score and components at create time
- schemas/MealPlanItemResponse: include score + components fields
- GET /api/meal-plans/{id}: returns persisted values instead of zeros
This commit is contained in:
2026-05-24 20:20:11 -07:00
parent c96b41ec26
commit e22eae1ecd
5 changed files with 32 additions and 5 deletions
@@ -0,0 +1,22 @@
"""Persist score and components on MealPlanItem."""
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
revision = "0012"
down_revision = "0011"
branch_labels = None
depends_on = None
def upgrade() -> None:
op.add_column("meal_plan_item", sa.Column("score", sa.Float, nullable=True))
op.add_column(
"meal_plan_item",
sa.Column("components", sa.dialects.postgresql.JSONB, nullable=True),
)
def downgrade() -> None:
op.drop_column("meal_plan_item", "components")
op.drop_column("meal_plan_item", "score")