scientific-backend / app /db /models /protocol.py
Dama12's picture
Initial clean backend deployment
0bd4ab4
Raw
History Blame Contribute Delete
1.01 kB
"""
Database Models for Experimental Protocols
"""
from sqlalchemy import Column, DateTime, Text, ForeignKey, UUID, JSON
from sqlalchemy.orm import relationship
from datetime import datetime
import uuid
from app.db.base import Base
class ExperimentalProtocol(Base):
"""Protocole expérimental généré"""
__tablename__ = "experimental_protocols"
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
analysis_id = Column(UUID(as_uuid=True), ForeignKey("analysis_runs.id"), nullable=False)
hypothesis = Column(Text)
independent_variables = Column(JSON)
dependent_variables = Column(JSON)
control_variables = Column(JSON)
methodology = Column(Text)
risk_analysis = Column(Text)
estimated_cost = Column(Text)
created_at = Column(DateTime, default=datetime.utcnow)
# Relationships
analysis = relationship("AnalysisRun", back_populates="protocols")
def __repr__(self):
return f"<ExperimentalProtocol {self.id}>"