-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathmodels.py
More file actions
36 lines (31 loc) · 1.3 KB
/
models.py
File metadata and controls
36 lines (31 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
from sqlalchemy.orm import declarative_base
from sqlalchemy import Column, Integer, String, text, DateTime, Boolean, Text
#db_path = "/home/cptlab3/btl-production/automator"
#DATABASE_URL = f"sqlite+aiosqlite:///{db_path}/runs.db"
Base = declarative_base()
# -----------------------------
# DB Model
# -----------------------------
class Run(Base):
__tablename__ = "runs"
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
Tray = Column(String, default="MTD-TrayNULL")
date = Column(DateTime, server_default=text("CURRENT_TIMESTAMP"))
RU = Column(Integer)
run_type = Column(String)
run_number = Column(Integer, nullable=True) # allow null
status = Column(String) # queued, processing, completed, failed on serenity
stdout = Column(Text, default="")
stderr = Column(Text, default="")
plot_link = Column(String, default="#")
serenity_stdout = Column(Text, default="") # new
serenity_stderr = Column(Text, default="") # new
class Tray(Base):
__tablename__ = "trays"
label = Column(String, primary_key=True)
RU0 = Column(Boolean, default=True)
RU1 = Column(Boolean, default=True)
RU2 = Column(Boolean, default=True)
RU3 = Column(Boolean, default=True)
RU4 = Column(Boolean, default=True)
RU5 = Column(Boolean, default=True)