- Updated test functions in various test files to enhance code clarity by formatting long lines and improving indentation. - Adjusted assertions to use multi-line formatting for better readability. - Added new test cases for theme settings API to ensure proper functionality. - Ensured consistent use of line breaks and spacing across test files for uniformity.
37 lines
1.5 KiB
Python
37 lines
1.5 KiB
Python
from sqlalchemy import Column, Integer, String, DateTime, func
|
|
from sqlalchemy.orm import relationship
|
|
from models.simulation_result import SimulationResult
|
|
from models.capex import Capex
|
|
from models.opex import Opex
|
|
from models.consumption import Consumption
|
|
from models.production_output import ProductionOutput
|
|
from models.equipment import Equipment
|
|
from models.maintenance import Maintenance
|
|
from config.database import Base
|
|
|
|
|
|
class Scenario(Base):
|
|
__tablename__ = "scenario"
|
|
|
|
id = Column(Integer, primary_key=True, index=True)
|
|
name = Column(String, unique=True, nullable=False)
|
|
description = Column(String)
|
|
created_at = Column(DateTime(timezone=True), server_default=func.now())
|
|
updated_at = Column(DateTime(timezone=True), onupdate=func.now())
|
|
parameters = relationship("Parameter", back_populates="scenario")
|
|
simulation_results = relationship(
|
|
SimulationResult, back_populates="scenario"
|
|
)
|
|
capex_items = relationship(Capex, back_populates="scenario")
|
|
opex_items = relationship(Opex, back_populates="scenario")
|
|
consumption_items = relationship(Consumption, back_populates="scenario")
|
|
production_output_items = relationship(
|
|
ProductionOutput, back_populates="scenario"
|
|
)
|
|
equipment_items = relationship(Equipment, back_populates="scenario")
|
|
maintenance_items = relationship(Maintenance, back_populates="scenario")
|
|
|
|
# relationships can be defined later
|
|
def __repr__(self):
|
|
return f"<Scenario id={self.id} name={self.name}>"
|