-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmodels.py
59 lines (43 loc) · 1.72 KB
/
models.py
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
from app import db
from datetime import datetime
class target(db.Model):
# attributes
id = db.Column(db.Integer(), primary_key=True)
target_Val = db.Column(db.Integer())
time_from = db.Column(db.DateTime())
time_to = db.Column(db.DateTime())
env_var_id = db.Column(db.String(),db.ForeignKey("env_var.label"))
class user(db.Model):
#attributes
user_id = db.Column(db.Integer(), primary_key=True)
email = db.Column(db.String(120), unique=True, nullable=False)
password = db.Column(db.String(128))
#relationships
target_cycle = db.relationship('target_cycle', backref='user')
class target_cycle(db.Model):
#attributes
id = db.Column(db.Integer(), primary_key=True)
value = db.Column(db.Integer())
time_of_day = db.Column(db.DateTime())
env_var_id = db.Column(db.String(),db.ForeignKey("env_var.label"))
user_id = db.Column(db.Integer(),db.ForeignKey("user.user_id"))
class env_var(db.Model):
#attributes
label = db.Column(db.String(), primary_key=True)
unit = db.Column(db.String())
has_targets = db.Column(db.Boolean())
#relationships
readings = db.relationship(
'readings', backref='env_var')
target = db.relationship('target', backref='env_var')
target_cycle = db.relationship('target_cycle', backref='env_var')
class readings(db.Model):
# attributes
id = db.Column(db.Integer(), primary_key=True)
time = db.Column(
db.DateTime, nullable=False, default=datetime.utcnow)
var_val = db.Column(db.Integer())
env_var_id = db.Column(db.String(),db.ForeignKey("env_var.label"))
shelf_id = db.Column(db.Integer())
sensor_id = db.Column(db.Integer())
arduino_id = db.Column(db.Integer())