-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmodels.py
136 lines (112 loc) · 4.68 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
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
from database import Base
from sqlalchemy import Column, Integer, String, Float, Date, DECIMAL, ForeignKey
from sqlalchemy.orm import relationship
class Ward(Base):
__tablename__ = "Ward"
Ward_ID = Column(Integer, primary_key=True)
Ward_Name = Column(String)
Area = Column(Float)
Population_Count = Column(Integer)
Number_of_Buildings = Column(Integer)
Number_of_Vehicles = Column(Integer)
Average_Income = Column(Float)
Crime_Rate = Column(Float)
Business_Count = Column(Integer)
Unemployment_Rate = Column(Float)
ward_info = relationship("Ward_info", back_populates="ward")
people = relationship("People", back_populates="ward")
buildings = relationship("Buildings", back_populates="ward")
projects = relationship("InfrastructureProjects", back_populates="ward")
businesses = relationship("Businesses", back_populates="ward")
class Ward_info(Base):
__tablename__ = "Ward_info"
Area_ID = Column(Integer, primary_key=True)
Ward_ID = Column(Integer, ForeignKey("Ward.Ward_ID"))
Area = Column(String)
Number_of_Households = Column(Integer)
Number_of_Schools = Column(Integer)
Number_of_Hospitals = Column(Integer)
Number_of_Parks = Column(Integer)
Number_of_Public_Transportation_Stops = Column(Integer)
Number_of_Public_Utilities = Column(Integer)
Number_of_Government_Offices = Column(Integer)
Number_of_Community_Centers = Column(Integer)
Number_of_Playgrounds = Column(Integer)
Number_of_Libraries = Column(Integer)
ward = relationship("Ward", back_populates="ward_info")
projects = relationship("InfrastructureProjects", back_populates="area")
businesses = relationship("Businesses", back_populates="area")
env_data = relationship("EnvData", back_populates="area")
class People(Base):
__tablename__ = "People"
People_ID = Column(Integer, primary_key=True)
First_Name = Column(String)
Last_Name = Column(String)
Date_of_Birth = Column(Date)
Gender = Column(String)
Occupation = Column(String)
Profession = Column(String)
Income = Column(Float)
Marital_Status = Column(String)
Number_of_Children = Column(Integer)
Education_Level = Column(String)
Religion = Column(String)
Language_ = Column(String)
National_ID = Column(String)
Ward_ID = Column(Integer, ForeignKey("Ward.Ward_ID"))
Area_ID = Column(Integer, ForeignKey("Ward_info.Area_ID"))
ward = relationship("Ward", back_populates="people")
class Buildings(Base):
__tablename__ = "Buildings"
Building_ID = Column(Integer, primary_key=True)
Building_Name = Column(String)
Building_Type = Column(String)
Number_of_Floors = Column(Integer)
Total_Area = Column(Float)
Year_Built = Column(Integer)
Number_of_Rooms = Column(Integer)
Number_of_Parkings = Column(Integer)
Ward_ID = Column(Integer, ForeignKey("Ward.Ward_ID"))
ward = relationship("Ward", back_populates="buildings")
class Vehicles(Base):
__tablename__ = "Vehicles"
Vehicle_ID = Column(Integer, primary_key=True)
Building_ID = Column(Integer, ForeignKey("Buildings.Building_ID"))
Vehicle_Type = Column(String)
Vehicle_Make = Column(String)
Vehicle_Model = Column(String)
Vehicle_Year = Column(Integer)
Vehicle_Color = Column(String)
Vehicle_Parking_Spot = Column(Integer)
class EnvData(Base):
__tablename__ = "EnvData"
id = Column(Integer, primary_key=True)
location = Column(String)
temperature = Column(Float)
humidity = Column(Float)
pollution_level = Column(Float)
recorded_at = Column(Date)
Area_ID = Column(Integer, ForeignKey("Ward_info.Area_ID"))
area = relationship("Ward_info", back_populates="env_data")
class InfrastructureProjects(Base):
__tablename__ = 'infrastructure_projects'
project_id = Column(Integer, primary_key=True)
project_name = Column(String(255))
project_type = Column(String(255))
start_date = Column(Date)
end_date = Column(Date)
budget = Column(DECIMAL(15, 2))
ward_id = Column(Integer, ForeignKey('Ward.Ward_ID'))
area_id = Column(Integer, ForeignKey('Ward_info.Area_ID'))
ward = relationship("Ward", back_populates="projects")
area = relationship("Ward_info", back_populates="projects")
class Businesses(Base):
__tablename__ = 'businesses'
business_id = Column(Integer, primary_key=True)
business_name = Column(String(255))
business_type = Column(String(255))
address = Column(String(255))
ward_id = Column(Integer, ForeignKey('Ward.Ward_ID'))
area_id = Column(Integer, ForeignKey('Ward_info.Area_ID'))
ward = relationship("Ward", back_populates="businesses")
area = relationship("Ward_info", back_populates="businesses")