This commit is contained in:
parent
834dac3a3a
commit
b112295d6a
4 changed files with 50 additions and 4 deletions
11
Makefile
11
Makefile
|
|
@ -38,12 +38,15 @@ test:
|
||||||
./test.sh
|
./test.sh
|
||||||
|
|
||||||
# Alembic
|
# Alembic
|
||||||
.PHONY: alembic alembic-upgrade alembic-downgrade
|
.PHONY: alembic alembic-upgrade alembic-downgrade alembic-merge
|
||||||
alembic: fooder
|
alembic: fooder
|
||||||
docker compose exec -e MSG="$(MSG)" api bash -c 'alembic -c /opt/fooder/fooder/alembic.ini revision --autogenerate -m "$${MSG}"'
|
docker compose exec -e MSG="$(MSG)" api sh -c 'alembic -c /opt/fooder/fooder/alembic.ini revision --autogenerate -m "$${MSG}"'
|
||||||
|
|
||||||
alembic-upgrade:
|
alembic-upgrade:
|
||||||
docker compose exec api bash -c 'alembic -c /opt/fooder/fooder/alembic.ini upgrade head'
|
docker compose exec api sh -c 'alembic -c /opt/fooder/fooder/alembic.ini upgrade head'
|
||||||
|
|
||||||
alembic-downgrade:
|
alembic-downgrade:
|
||||||
docker compose exec api bash -c 'alembic -c /opt/fooder/fooder/alembic.ini downgrade -1'
|
docker compose exec api sh -c 'alembic -c /opt/fooder/fooder/alembic.ini downgrade -1'
|
||||||
|
|
||||||
|
alembic-merge:
|
||||||
|
docker compose exec api sh -c 'alembic -c /opt/fooder/fooder/alembic.ini merge -m "merge heads" heads'
|
||||||
|
|
|
||||||
3
doc/install/Makefile
Normal file
3
doc/install/Makefile
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
.PHONY: migrate
|
||||||
|
migrate:
|
||||||
|
docker compose exec api sh -c 'alembic -c /usr/local/lib/python3.14/site-packages/fooder/alembic.ini upgrade head'
|
||||||
31
fooder/alembic/versions/7bda12666bf0_merge_heads.py
Normal file
31
fooder/alembic/versions/7bda12666bf0_merge_heads.py
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
"""merge heads
|
||||||
|
|
||||||
|
Revision ID: 7bda12666bf0
|
||||||
|
Revises: 564e5948f3ed, a1b2c3d4e5f6
|
||||||
|
Create Date: 2026-04-07 20:50:01.702218
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
from typing import Sequence, Union
|
||||||
|
|
||||||
|
from alembic import op
|
||||||
|
import sqlalchemy as sa
|
||||||
|
|
||||||
|
# revision identifiers, used by Alembic.
|
||||||
|
revision: str = "7bda12666bf0"
|
||||||
|
down_revision: Union[str, Sequence[str], None] = (
|
||||||
|
"564e5948f3ed",
|
||||||
|
"a1b2c3d4e5f6",
|
||||||
|
)
|
||||||
|
branch_labels: Union[str, Sequence[str], None] = None
|
||||||
|
depends_on: Union[str, Sequence[str], None] = None
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade() -> None:
|
||||||
|
"""Upgrade schema."""
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade() -> None:
|
||||||
|
"""Downgrade schema."""
|
||||||
|
pass
|
||||||
|
|
@ -5,6 +5,7 @@ from fooder.controller.base import ModelController
|
||||||
from fooder.domain import Diary
|
from fooder.domain import Diary
|
||||||
from fooder.domain.user_settings import UserSettings
|
from fooder.domain.user_settings import UserSettings
|
||||||
from fooder.model.diary import DiaryUpdateModel
|
from fooder.model.diary import DiaryUpdateModel
|
||||||
|
from fooder.utils.calories import calculate_calories
|
||||||
|
|
||||||
|
|
||||||
class DiaryController(ModelController[Diary]):
|
class DiaryController(ModelController[Diary]):
|
||||||
|
|
@ -35,4 +36,12 @@ class DiaryController(ModelController[Diary]):
|
||||||
self.obj.fiber_goal = data.fiber_goal
|
self.obj.fiber_goal = data.fiber_goal
|
||||||
if data.calories_goal is not None:
|
if data.calories_goal is not None:
|
||||||
self.obj.calories_goal = data.calories_goal
|
self.obj.calories_goal = data.calories_goal
|
||||||
|
else:
|
||||||
|
self.obj.calories_goal = calculate_calories(
|
||||||
|
protein=self.obj.protein_goal,
|
||||||
|
carb=self.obj.carb_goal,
|
||||||
|
fat=self.obj.fat_goal,
|
||||||
|
fiber=self.obj.fiber_goal,
|
||||||
|
)
|
||||||
|
|
||||||
await self.ctx.repo.diary.update(self.obj)
|
await self.ctx.repo.diary.update(self.obj)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue