forked from shubham-shar/event-management-website
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdatabase_setup.py
More file actions
116 lines (85 loc) · 3.52 KB
/
Copy pathdatabase_setup.py
File metadata and controls
116 lines (85 loc) · 3.52 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
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
from sqlalchemy import Column, ForeignKey, Integer, String, Text, Boolean
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship
from sqlalchemy import create_engine
Base = declarative_base()
class UserAccounts(Base):
__tablename__ = 'user_accounts'
username = Column(String(80), primary_key=True)
password = Column(String(80), nullable=False)
acc_type = Column(String(10), default="default")
class UserProfiles(Base):
__tablename__ = 'user_profiles'
f_name = Column(String(80), nullable=False)
l_name = Column(String(80), nullable=False)
dob = Column(String(20), nullable=False)
mobile = Column(String(13))
gender = Column(String(6), nullable=False)
rollno = Column(String(20))
username = Column(String(80), ForeignKey('user_accounts.username'),
primary_key=True)
user_accounts = relationship(UserAccounts)
email = Column(String(80), nullable=False)
class Events(Base):
__tablename__ = 'events'
title = Column(String(80), nullable=False)
id = Column(Integer, primary_key=True)
type = Column(String(8), nullable=False)
starts = Column(String(20), nullable=False)
ends = Column(String(20), nullable=False)
description = Column(Text)
club = Column(String(20), nullable=False)
post_date = Column(String(20), nullable=False)
head = Column(String(80), ForeignKey('user_accounts.username'))
user_accounts = relationship(UserAccounts)
class Teams(Base):
__tablename__ = 'teams'
id = Column(Integer, primary_key=True)
name = Column(String(80), nullable=False)
team_head = Column(String(80), ForeignKey('user_accounts.username'))
user_accounts = relationship(UserAccounts)
event_id = Column(Integer, ForeignKey('events.id'))
events = relationship(Events)
class ListItems(Base):
__tablename__ = 'list_items'
id = Column(Integer, primary_key=True)
item = Column(String(80), nullable=False)
done = Column(Boolean, default=False)
team_id = Column(Integer, ForeignKey('teams.id'))
teams = relationship(Teams)
class TeamMessages(Base):
__tablename__ = 'team_messages'
id = Column(Integer, primary_key=True)
title = Column(String(80), nullable=False)
message = Column(Text)
team_id = Column(Integer, ForeignKey('teams.id'))
teams = relationship(Teams)
class Messages(Base):
__tablename__ = 'messages'
id = Column(Integer, primary_key=True)
title = Column(String(80), nullable=False)
message = Column(Text)
time = Column(String(80))
from_user = Column(String(80))
username = Column(String(80), ForeignKey('user_accounts.username'),
nullable=False)
user_accounts = relationship(UserAccounts)
class Comments(Base):
__tablename__ = 'comments'
id = Column(Integer, primary_key=True)
comment = Column(Text)
event_id = Column(Integer, ForeignKey('events.id'))
events = relationship(Events)
username = Column(String(80), ForeignKey(
'user_accounts.username'), nullable=False)
user_accounts = relationship(UserAccounts)
post_date = Column(String(20), nullable=False)
class TeamMembers(Base):
__tablename__ = 'team_members'
team_id = Column(Integer, ForeignKey('teams.id'))
teams = relationship(Teams)
id = Column(Integer, primary_key=True)
member = Column(String(80), ForeignKey('user_accounts.username'))
user_accounts = relationship(UserAccounts)
engine = create_engine('sqlite:///event_database.sql')
Base.metadata.create_all(engine)