-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdatabase_setup.py
82 lines (76 loc) · 2 KB
/
database_setup.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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
import sys
from sqlalchemy import Column, ForeignKey, Integer,String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship
from sqlalchemy import create_engine
Base = declarative_base()
class User(Base):
__tablename__='user'
name=Column(
String(80), nullable=False
)
id=Column(
Integer, primary_key = True
)
email=Column(
String(80), nullable=False
)
picture = Column(String(250))
class Restaurant(Base):
__tablename__='restaurant'
name=Column(
String(80), nullable=False
)
id=Column(
Integer, primary_key = True
)
user=relationship(User)
user_id=Column(
Integer, ForeignKey('user.id')
)
menuItems = relationship("MenuItem",cascade="all, delete-orphan")
@property
def serialRes(self):
return {
'name':self.name,
'id':self.id,
}
class MenuItem(Base):
__tablename__='menu_item'
user=relationship(User)
restaurant= relationship(Restaurant)
name=Column(
String(80),nullable= False
)
id=Column(
Integer,primary_key= True
)
course= Column(
String(250)
)
description= Column(
String(250)
)
price = Column(
String(8)
)
restaurant_id= Column(
Integer, ForeignKey('restaurant.id')
)
user_id=Column(
Integer, ForeignKey('user.id')
)
@property
def serialize(self):
return {
'name': self.name,
'description': self.description,
'id': self.id,
'price': self.price,
'course': self.course,
}
#insert at the end of file
engine= create_engine(
'postgres://kpbwdbmgtlpjaa:f0123ece16d92f3184ac2e53efec4570a54b546feeca4b7afc3c28888fc32193@ec2-184-73-216-48.compute-1.amazonaws.com:5432/dedl0nb7i86anr')
Base.metadata.create_all(engine)
print 'done'