@@ -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="")
|
||||
Reference in New Issue
Block a user