add features: add simulation model & result into db
digital-twin/RBD-multibranch/pipeline/head This commit looks good
Details
digital-twin/RBD-multibranch/pipeline/head This commit looks good
Details
parent
14ad828e3e
commit
599a0963d5
@ -1,12 +1,534 @@
|
|||||||
from sqlalchemy import JSON, UUID, Column, DateTime, Float, ForeignKey, Integer, String
|
from sqlalchemy import (
|
||||||
|
JSON,
|
||||||
|
UUID,
|
||||||
|
TIMESTAMP,
|
||||||
|
Column,
|
||||||
|
DateTime,
|
||||||
|
Float,
|
||||||
|
ForeignKey,
|
||||||
|
Numeric,
|
||||||
|
Integer,
|
||||||
|
String,
|
||||||
|
Text
|
||||||
|
)
|
||||||
from sqlalchemy.orm import relationship
|
from sqlalchemy.orm import relationship
|
||||||
|
from sqlalchemy.dialects.postgresql import UUID, JSONB
|
||||||
|
from sqlalchemy.sql import func
|
||||||
|
|
||||||
from src.database.core import Base
|
from src.database.core import Base
|
||||||
from src.models import DefaultMixin
|
from src.models import DefaultMixin
|
||||||
|
|
||||||
|
import uuid
|
||||||
|
|
||||||
|
|
||||||
class AerosProject(Base, DefaultMixin):
|
class AerosProject(Base, DefaultMixin):
|
||||||
__tablename__ = "rbd_ms_aeros_project"
|
__tablename__ = "rbd_ms_aeros_project"
|
||||||
|
|
||||||
project_name = Column(String, nullable=False)
|
project_name = Column(String, nullable=False)
|
||||||
aro_file_path = Column(String, nullable=False)
|
aro_file_path = Column(String, nullable=False)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# AF
|
||||||
|
class SimulationModel(Base):
|
||||||
|
id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
primary_key=True,
|
||||||
|
index=True,
|
||||||
|
default=uuid.uuid4,
|
||||||
|
# server_default=text("uuid_generate_v4()")
|
||||||
|
)
|
||||||
|
name = Column(
|
||||||
|
String,
|
||||||
|
# unique=True,
|
||||||
|
index=True,
|
||||||
|
nullable=True
|
||||||
|
)
|
||||||
|
payload = Column(JSON, nullable=True)
|
||||||
|
gui_payload = Column(JSON, nullable=True)
|
||||||
|
|
||||||
|
# realtionship
|
||||||
|
schemas = relationship("SimulationModelSchema", back_populates="model") # 1-to-many
|
||||||
|
assets = relationship("SimulationModelAsset", back_populates="model") # 1-to-many
|
||||||
|
|
||||||
|
created_at = Column(TIMESTAMP(timezone=True), server_default=func.now())
|
||||||
|
updated_at = Column(TIMESTAMP(timezone=True), server_default=func.now(), onupdate=func.now())
|
||||||
|
deleted_at = Column(TIMESTAMP(timezone=True), nullable=True)
|
||||||
|
|
||||||
|
class SimulationTask(Base):
|
||||||
|
id = Column(String, primary_key=True, index=True)
|
||||||
|
model_id = Column(Integer, nullable=False)
|
||||||
|
status = Column(String, default="pending") # pending, running, completed, failed
|
||||||
|
progress = Column(Integer, default=0)
|
||||||
|
params = Column(JSON, nullable=True)
|
||||||
|
result = Column(JSON, nullable=True)
|
||||||
|
error = Column(String, nullable=True)
|
||||||
|
created_at = Column(String, nullable=False)
|
||||||
|
updated_at = Column(String, nullable=False)
|
||||||
|
|
||||||
|
|
||||||
|
# AF
|
||||||
|
class SimulationMasterType(Base):
|
||||||
|
__tablename__ = "simulation_master_types"
|
||||||
|
|
||||||
|
id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
primary_key=True,
|
||||||
|
index=True,
|
||||||
|
default=uuid.uuid4,
|
||||||
|
# server_default=text("uuid_generate_v4()")
|
||||||
|
)
|
||||||
|
name = Column(Text, nullable=True)
|
||||||
|
|
||||||
|
created_at = Column(TIMESTAMP(timezone=True), server_default=func.now())
|
||||||
|
updated_at = Column(TIMESTAMP(timezone=True), server_default=func.now(), onupdate=func.now())
|
||||||
|
deleted_at = Column(TIMESTAMP(timezone=True), nullable=True)
|
||||||
|
|
||||||
|
# relationships
|
||||||
|
model_asset_distributions = relationship("SimulationModelAssetDistribution", back_populates="type") # 1-to-many
|
||||||
|
model_schemas = relationship("SimulationModelSchema", back_populates="type") # 1-to-many
|
||||||
|
model_asset_repair_durations = relationship("SimulationModelAssetRepairDuration", back_populates="type") # many-to-1
|
||||||
|
result_events = relationship("SimulationResultEvent", back_populates="type") # 1-to-many
|
||||||
|
|
||||||
|
|
||||||
|
class SimulationModelSchema(Base):
|
||||||
|
__tablename__ = "simulation_model_schemas"
|
||||||
|
|
||||||
|
id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
primary_key=True,
|
||||||
|
index=True,
|
||||||
|
default=uuid.uuid4,
|
||||||
|
# server_default=text("uuid_generate_v4()")
|
||||||
|
)
|
||||||
|
|
||||||
|
simulation_model_id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
ForeignKey("simulation_model.id"),
|
||||||
|
nullable=True
|
||||||
|
)
|
||||||
|
# self reference
|
||||||
|
simulation_model_schemas_id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
ForeignKey("simulation_model_schemas.id"),
|
||||||
|
nullable=True
|
||||||
|
)
|
||||||
|
type_id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
ForeignKey("simulation_master_types.id"),
|
||||||
|
nullable=True
|
||||||
|
)
|
||||||
|
|
||||||
|
schemaId = Column(Text, nullable=True) # not a foreign key
|
||||||
|
name = Column(Text, nullable=True)
|
||||||
|
|
||||||
|
created_at = Column(TIMESTAMP(timezone=True), server_default=func.now())
|
||||||
|
updated_at = Column(TIMESTAMP(timezone=True), server_default=func.now(), onupdate=func.now())
|
||||||
|
deleted_at = Column(TIMESTAMP(timezone=True), nullable=True)
|
||||||
|
|
||||||
|
# relationships
|
||||||
|
model = relationship("SimulationModel", back_populates="schemas") # many-to-1
|
||||||
|
type = relationship("SimulationMasterType", back_populates="model_schemas") # many-to-1
|
||||||
|
assets = relationship("SimulationModelAsset", back_populates="model_schema") # 1-to-many
|
||||||
|
schema_results = relationship("SimulationResultSchema", back_populates="schema_model") # 1-to-many
|
||||||
|
|
||||||
|
# SELF RELATION
|
||||||
|
parent = relationship(
|
||||||
|
"SimulationModelSchema",
|
||||||
|
remote_side=[id],
|
||||||
|
back_populates="children"
|
||||||
|
)
|
||||||
|
|
||||||
|
children = relationship(
|
||||||
|
"SimulationModelSchema",
|
||||||
|
back_populates="parent",
|
||||||
|
# cascade="all, delete"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class SimulationModelAsset(Base):
|
||||||
|
__tablename__ = "simulation_model_assets"
|
||||||
|
|
||||||
|
id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
primary_key=True,
|
||||||
|
index=True,
|
||||||
|
default=uuid.uuid4,
|
||||||
|
# server_default=text("uuid_generate_v4()")
|
||||||
|
)
|
||||||
|
assetId = Column(Text, nullable=True) # not a foreign key
|
||||||
|
name = Column(Text, nullable=True)
|
||||||
|
simulation_model_schemas_id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
ForeignKey("simulation_model_schemas.id"),
|
||||||
|
nullable=True
|
||||||
|
)
|
||||||
|
simulation_model_id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
ForeignKey("simulation_model.id"),
|
||||||
|
nullable=True
|
||||||
|
)
|
||||||
|
|
||||||
|
max_capacity = Column(Numeric, nullable=True)
|
||||||
|
design_capacity = Column(Numeric, nullable=True)
|
||||||
|
buffer_duration = Column(Numeric, nullable=True)
|
||||||
|
transition_delay = Column(Numeric, nullable=True)
|
||||||
|
initial_age = Column(Numeric, nullable=True)
|
||||||
|
|
||||||
|
created_at = Column(TIMESTAMP(timezone=True), server_default=func.now())
|
||||||
|
updated_at = Column(TIMESTAMP(timezone=True), server_default=func.now(), onupdate=func.now())
|
||||||
|
deleted_at = Column(TIMESTAMP(timezone=True), nullable=True)
|
||||||
|
|
||||||
|
# relationships
|
||||||
|
model = relationship("SimulationModel", back_populates="assets") # many-to-1
|
||||||
|
asset_distribution = relationship(
|
||||||
|
"SimulationModelAssetDistribution",
|
||||||
|
back_populates="asset",
|
||||||
|
uselist=False # 1-to-1
|
||||||
|
)
|
||||||
|
asset_repair_duration = relationship(
|
||||||
|
"SimulationModelAssetRepairDuration",
|
||||||
|
back_populates="asset",
|
||||||
|
uselist=False # 1-to-1
|
||||||
|
)
|
||||||
|
asset_overhaul = relationship(
|
||||||
|
"SimulationModelAssetOverhaul",
|
||||||
|
back_populates="asset",
|
||||||
|
uselist=False # 1-to-1
|
||||||
|
)
|
||||||
|
asset_pm = relationship(
|
||||||
|
"SimulationModelAssetPm",
|
||||||
|
back_populates="asset",
|
||||||
|
uselist=False # 1-to-1
|
||||||
|
)
|
||||||
|
model_schema = relationship(
|
||||||
|
"SimulationModelSchema",
|
||||||
|
back_populates="assets" # many-to-1
|
||||||
|
)
|
||||||
|
asset_results = relationship(
|
||||||
|
"SimulationResultAsset",
|
||||||
|
back_populates="asset_model" # 1-to-many
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class SimulationModelAssetDistribution(Base):
|
||||||
|
__tablename__ = "simulation_model_assets_distributions"
|
||||||
|
|
||||||
|
id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
primary_key=True,
|
||||||
|
index=True,
|
||||||
|
default=uuid.uuid4,
|
||||||
|
# server_default=text("uuid_generate_v4()")
|
||||||
|
)
|
||||||
|
simulation_model_assets_id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
ForeignKey("simulation_model_assets.id"),
|
||||||
|
nullable=True
|
||||||
|
)
|
||||||
|
type_id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
ForeignKey("simulation_master_types.id"),
|
||||||
|
nullable=True
|
||||||
|
)
|
||||||
|
shape = Column(Numeric, nullable=True)
|
||||||
|
scale = Column(Numeric, nullable=True)
|
||||||
|
mean = Column(Numeric, nullable=True)
|
||||||
|
std_dev = Column(Numeric, nullable=True)
|
||||||
|
eta = Column(Numeric, nullable=True)
|
||||||
|
beta = Column(Numeric, nullable=True)
|
||||||
|
|
||||||
|
created_at = Column(TIMESTAMP(timezone=True), server_default=func.now())
|
||||||
|
updated_at = Column(TIMESTAMP(timezone=True), server_default=func.now(), onupdate=func.now())
|
||||||
|
deleted_at = Column(TIMESTAMP(timezone=True), nullable=True)
|
||||||
|
|
||||||
|
# relationships
|
||||||
|
asset = relationship("SimulationModelAsset", back_populates="asset_distribution") # 1-to-1
|
||||||
|
type = relationship("SimulationMasterType", back_populates="model_asset_distributions") # many-to-1
|
||||||
|
|
||||||
|
|
||||||
|
class SimulationModelAssetRepairDuration(Base):
|
||||||
|
__tablename__ = "simulation_model_assets_repair_durations"
|
||||||
|
|
||||||
|
id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
primary_key=True,
|
||||||
|
index=True,
|
||||||
|
default=uuid.uuid4,
|
||||||
|
# server_default=text("uuid_generate_v4()")
|
||||||
|
)
|
||||||
|
simulation_model_assets_id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
ForeignKey("simulation_model_assets.id"),
|
||||||
|
nullable=True
|
||||||
|
)
|
||||||
|
type_id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
ForeignKey("simulation_master_types.id"),
|
||||||
|
nullable=True
|
||||||
|
)
|
||||||
|
mean = Column(Numeric, nullable=True)
|
||||||
|
std_dev = Column(Numeric, nullable=True)
|
||||||
|
|
||||||
|
created_at = Column(TIMESTAMP(timezone=True), server_default=func.now())
|
||||||
|
updated_at = Column(TIMESTAMP(timezone=True), server_default=func.now(), onupdate=func.now())
|
||||||
|
deleted_at = Column(TIMESTAMP(timezone=True), nullable=True)
|
||||||
|
|
||||||
|
# relationships
|
||||||
|
asset = relationship("SimulationModelAsset", back_populates="asset_repair_duration") # 1-to-1
|
||||||
|
type = relationship("SimulationMasterType", back_populates="model_asset_repair_durations") # many-to-1
|
||||||
|
|
||||||
|
|
||||||
|
class SimulationModelAssetOverhaul(Base):
|
||||||
|
__tablename__ = "simulation_model_assets_overhauls"
|
||||||
|
|
||||||
|
id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
primary_key=True,
|
||||||
|
index=True,
|
||||||
|
default=uuid.uuid4,
|
||||||
|
# server_default=text("uuid_generate_v4()")
|
||||||
|
)
|
||||||
|
simulation_model_assets_id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
ForeignKey("simulation_model_assets.id"),
|
||||||
|
nullable=True
|
||||||
|
)
|
||||||
|
interval = Column(Numeric, nullable=True)
|
||||||
|
duration = Column(Numeric, nullable=True)
|
||||||
|
|
||||||
|
created_at = Column(TIMESTAMP(timezone=True), server_default=func.now())
|
||||||
|
updated_at = Column(TIMESTAMP(timezone=True), server_default=func.now(), onupdate=func.now())
|
||||||
|
deleted_at = Column(TIMESTAMP(timezone=True), nullable=True)
|
||||||
|
|
||||||
|
# relationships
|
||||||
|
asset = relationship("SimulationModelAsset", back_populates="asset_overhaul") # 1-to-1
|
||||||
|
|
||||||
|
|
||||||
|
class SimulationModelAssetPm(Base):
|
||||||
|
__tablename__ = "simulation_model_assets_pms"
|
||||||
|
|
||||||
|
id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
primary_key=True,
|
||||||
|
index=True,
|
||||||
|
default=uuid.uuid4,
|
||||||
|
# server_default=text("uuid_generate_v4()")
|
||||||
|
)
|
||||||
|
simulation_model_assets_id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
ForeignKey("simulation_model_assets.id"),
|
||||||
|
nullable=True
|
||||||
|
)
|
||||||
|
interval = Column(Numeric, nullable=True)
|
||||||
|
duration = Column(Numeric, nullable=True)
|
||||||
|
restoration_factor = Column(Numeric, nullable=True)
|
||||||
|
|
||||||
|
created_at = Column(TIMESTAMP(timezone=True), server_default=func.now())
|
||||||
|
updated_at = Column(TIMESTAMP(timezone=True), server_default=func.now(), onupdate=func.now())
|
||||||
|
deleted_at = Column(TIMESTAMP(timezone=True), nullable=True)
|
||||||
|
|
||||||
|
# relationships
|
||||||
|
asset = relationship("SimulationModelAsset", back_populates="asset_pm") # 1-to-1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class SimulationResult(Base):
|
||||||
|
__tablename__ = "simulation_results"
|
||||||
|
|
||||||
|
id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
primary_key=True,
|
||||||
|
index=True,
|
||||||
|
default=uuid.uuid4,
|
||||||
|
)
|
||||||
|
|
||||||
|
production_availability = Column(Numeric, nullable=True)
|
||||||
|
simulation_duration = Column(Numeric, nullable=True)
|
||||||
|
simulation_replications = Column(Numeric, nullable=True)
|
||||||
|
system_availability = Column(Numeric, nullable=True)
|
||||||
|
system_downtime = Column(Numeric, nullable=True)
|
||||||
|
system_failures = Column(Numeric, nullable=True)
|
||||||
|
system_uptime = Column(Numeric, nullable=True)
|
||||||
|
total_demand = Column(Numeric, nullable=True)
|
||||||
|
total_productions = Column(Numeric, nullable=True)
|
||||||
|
|
||||||
|
system_down_causes = Column(JSONB, nullable=True)
|
||||||
|
|
||||||
|
created_at = Column(TIMESTAMP(timezone=True), server_default=func.now())
|
||||||
|
updated_at = Column(TIMESTAMP(timezone=True), server_default=func.now(), onupdate=func.now())
|
||||||
|
deleted_at = Column(TIMESTAMP(timezone=True), nullable=True)
|
||||||
|
|
||||||
|
# relationships
|
||||||
|
schemas = relationship("SimulationResultSchema", back_populates="result") # 1-to-many
|
||||||
|
assets = relationship("SimulationResultAsset", back_populates="result") # 1-to-many
|
||||||
|
events = relationship("SimulationResultEvent", back_populates="result") # 1-to-many
|
||||||
|
# down_causes = relationship("SimulationResultDownCauses", back_populates="result") # 1-to-many
|
||||||
|
|
||||||
|
|
||||||
|
class SimulationResultAsset(Base):
|
||||||
|
__tablename__ = "simulation_result_assets"
|
||||||
|
|
||||||
|
id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
primary_key=True,
|
||||||
|
index=True,
|
||||||
|
default=uuid.uuid4,
|
||||||
|
)
|
||||||
|
|
||||||
|
simulation_results_id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
ForeignKey("simulation_results.id"),
|
||||||
|
nullable=True
|
||||||
|
)
|
||||||
|
|
||||||
|
simulation_model_assets_id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
ForeignKey("simulation_model_assets.id"),
|
||||||
|
nullable=True
|
||||||
|
)
|
||||||
|
|
||||||
|
assetId = Column(Text, nullable=True) # "node_blablabla"
|
||||||
|
name = Column(Text, nullable=True)
|
||||||
|
|
||||||
|
availability = Column(Numeric, nullable=True)
|
||||||
|
contribution_factor = Column(Numeric, nullable=True)
|
||||||
|
downtime = Column(Numeric, nullable=True)
|
||||||
|
uptime = Column(Numeric, nullable=True)
|
||||||
|
failures = Column(Numeric, nullable=True)
|
||||||
|
total_downtime_concurrent_with_system = Column(Numeric, nullable=True)
|
||||||
|
|
||||||
|
created_at = Column(TIMESTAMP(timezone=True), server_default=func.now())
|
||||||
|
updated_at = Column(TIMESTAMP(timezone=True), server_default=func.now(), onupdate=func.now())
|
||||||
|
deleted_at = Column(TIMESTAMP(timezone=True), nullable=True)
|
||||||
|
|
||||||
|
# relationships
|
||||||
|
result = relationship("SimulationResult", back_populates="assets") # many-to-1
|
||||||
|
events = relationship("SimulationResultEvent", back_populates="asset") # 1-to-many
|
||||||
|
asset_model = relationship("SimulationModelAsset", back_populates="asset_results") # many-to-1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class SimulationResultSchema(Base):
|
||||||
|
__tablename__ = "simulation_result_schemas"
|
||||||
|
|
||||||
|
id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
primary_key=True,
|
||||||
|
index=True,
|
||||||
|
default=uuid.uuid4,
|
||||||
|
)
|
||||||
|
|
||||||
|
simulation_results_id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
ForeignKey("simulation_results.id"),
|
||||||
|
nullable=True
|
||||||
|
)
|
||||||
|
|
||||||
|
simulation_model_schemas_id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
ForeignKey("simulation_model_schemas.id"),
|
||||||
|
nullable=True
|
||||||
|
)
|
||||||
|
|
||||||
|
schemaId = Column(Text, nullable=True)
|
||||||
|
name = Column(Text, nullable=True)
|
||||||
|
|
||||||
|
availability = Column(Numeric, nullable=True)
|
||||||
|
downtime = Column(Numeric, nullable=True)
|
||||||
|
uptime = Column(Numeric, nullable=True)
|
||||||
|
|
||||||
|
created_at = Column(TIMESTAMP(timezone=True), server_default=func.now())
|
||||||
|
updated_at = Column(TIMESTAMP(timezone=True), server_default=func.now(), onupdate=func.now())
|
||||||
|
deleted_at = Column(TIMESTAMP(timezone=True), nullable=True)
|
||||||
|
|
||||||
|
# relationships
|
||||||
|
result = relationship("SimulationResult", back_populates="schemas") # many-to-1
|
||||||
|
events = relationship("SimulationResultEvent", back_populates="schema") # 1-to-many
|
||||||
|
schema_model = relationship("SimulationModelSchema", back_populates="schema_results") # many-to-1
|
||||||
|
|
||||||
|
|
||||||
|
class SimulationResultEvent(Base):
|
||||||
|
__tablename__ = "simulation_result_events"
|
||||||
|
|
||||||
|
id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
primary_key=True,
|
||||||
|
index=True,
|
||||||
|
default=uuid.uuid4,
|
||||||
|
)
|
||||||
|
|
||||||
|
simulation_result_id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
ForeignKey("simulation_results.id"),
|
||||||
|
nullable=True
|
||||||
|
)
|
||||||
|
|
||||||
|
simulation_result_assets_id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
ForeignKey("simulation_result_assets.id"),
|
||||||
|
nullable=True
|
||||||
|
)
|
||||||
|
|
||||||
|
simulation_result_schemas_id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
ForeignKey("simulation_result_schemas.id"),
|
||||||
|
nullable=True
|
||||||
|
)
|
||||||
|
|
||||||
|
type_id = Column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
# asumsi ada tabel ini
|
||||||
|
ForeignKey("simulation_master_types.id"),
|
||||||
|
nullable=True
|
||||||
|
)
|
||||||
|
|
||||||
|
cause = Column(Text, nullable=True)
|
||||||
|
state = Column(Text, nullable=True)
|
||||||
|
|
||||||
|
load_factor = Column(Numeric, nullable=True)
|
||||||
|
start_time = Column(Numeric, nullable=True)
|
||||||
|
end_time = Column(Numeric, nullable=True)
|
||||||
|
|
||||||
|
created_at = Column(TIMESTAMP(timezone=True), server_default=func.now())
|
||||||
|
updated_at = Column(TIMESTAMP(timezone=True), server_default=func.now(), onupdate=func.now())
|
||||||
|
deleted_at = Column(TIMESTAMP(timezone=True), nullable=True)
|
||||||
|
|
||||||
|
# relationships
|
||||||
|
result = relationship("SimulationResult", back_populates="events")
|
||||||
|
asset = relationship("SimulationResultAsset", back_populates="events")
|
||||||
|
schema = relationship("SimulationResultSchema", back_populates="events")
|
||||||
|
type = relationship("SimulationMasterType", back_populates="result_events")
|
||||||
|
|
||||||
|
|
||||||
|
# class SimulationResultDownCause(Base):
|
||||||
|
# __tablename__ = "simulation_result_down_causes"
|
||||||
|
|
||||||
|
# id = Column(
|
||||||
|
# UUID(as_uuid=True),
|
||||||
|
# primary_key=True,
|
||||||
|
# index=True,
|
||||||
|
# default=uuid.uuid4,
|
||||||
|
# )
|
||||||
|
|
||||||
|
# simulation_results_id = Column(
|
||||||
|
# UUID(as_uuid=True),
|
||||||
|
# ForeignKey("simulation_results.id"),
|
||||||
|
# nullable=True
|
||||||
|
# )
|
||||||
|
|
||||||
|
# availability = Column(Numeric, nullable=True)
|
||||||
|
# downtime = Column(Numeric, nullable=True)
|
||||||
|
# uptime = Column(Numeric, nullable=True)
|
||||||
|
# failures = Column(Numeric, nullable=True)
|
||||||
|
|
||||||
|
# created_at = Column(TIMESTAMP(timezone=True), server_default=func.now())
|
||||||
|
# updated_at = Column(TIMESTAMP(timezone=True), server_default=func.now(), onupdate=func.now())
|
||||||
|
# deleted_at = Column(TIMESTAMP(timezone=True), nullable=True)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue