from sqlalchemy import Column, Float, Integer, String, Text from app import db from app.models.base import SoftDeleteMixin, TimestampMixin, default_uuid from ._mixins import LabAuditMixin class LabAnimalProfile(db.Model, TimestampMixin, SoftDeleteMixin, LabAuditMixin): __tablename__ = "lab_animal_profile" id = Column(String(36), primary_key=True, default=default_uuid) profile_key = Column(String(64), nullable=False, unique=True, index=True) label = Column(String(200), nullable=False) ration_type = Column(String(10), nullable=False, index=True) mass_kg = Column(Float, nullable=True) milk_yield_kg = Column(Float, nullable=True) external_no = Column(Integer, nullable=True) norms_method = Column(String(20), nullable=False, default="wesp", server_default="wesp") norms_params_json = Column(Text, nullable=True)