Интегрирован wesp в сайт
CI / quality (push) Canceled after 0s

This commit is contained in:
влад
2026-07-17 12:57:18 +03:00
parent 5dfa06ddbe
commit 355c0ef9f1
883 changed files with 194576 additions and 177 deletions
@@ -0,0 +1,28 @@
"""Временная замена компонента в рейсе для плана на день."""
from sqlalchemy import Column, Date, DateTime, ForeignKey, Integer, String
from app import db
from .base import SoftDeleteMixin, TimestampMixin, default_uuid
class DailyIngredientReplacement(db.Model, TimestampMixin, SoftDeleteMixin):
"""Глобальная замена component_id строки рейса на период (plan_date … valid_until)."""
__tablename__ = "daily_ingredient_replacement"
id = Column(String(36), primary_key=True, default=default_uuid)
recipe_id = Column(String(36), ForeignKey("recipe.id"), nullable=False, index=True)
ingredient_id = Column(String(36), ForeignKey("ingredient.id"), nullable=False, index=True)
replacement_component_id = Column(
String(36), ForeignKey("component.id"), nullable=False, index=True
)
plan_date = Column(Date, nullable=False, index=True)
valid_until = Column(Date, nullable=True, index=True)
version = Column(Integer, default=1, nullable=False)
created_by = Column(String(50), nullable=False, default="system")
updated_by = Column(String(50), nullable=False, default="system")
sync_timestamp = Column(DateTime, nullable=True)
sync_status = Column(String(20), default="pending", nullable=False)
content_hash = Column(String(64), nullable=False, default="")