copied the code from the working repo
This commit is contained in:
87
mtucijobsbackend/app/models.py
Normal file
87
mtucijobsbackend/app/models.py
Normal file
@@ -0,0 +1,87 @@
|
||||
from sqlalchemy import Column, Integer, String, Boolean, ForeignKey, ARRAY, UniqueConstraint
|
||||
from sqlalchemy.orm import DeclarativeBase
|
||||
|
||||
class Base(DeclarativeBase): pass
|
||||
|
||||
class Users(Base):
|
||||
__tablename__ = 'Users'
|
||||
UserID = Column(Integer, primary_key=True, autoincrement=True)
|
||||
Email = Column(String(166), nullable=False, unique=True)
|
||||
Hashed_password = Column(String(200), nullable=False)
|
||||
|
||||
class Students(Base):
|
||||
__tablename__ = 'Students'
|
||||
StudentID = Column(Integer, primary_key=True, autoincrement=True)
|
||||
Name = Column(String(155), nullable=False)
|
||||
Type = Column(String(60), nullable=False)
|
||||
Faculties = Column(String(70), nullable=False)
|
||||
Group = Column(String(20), nullable=False)
|
||||
Year = Column(Integer, nullable=False)
|
||||
Experience_specialty = Column(Boolean, nullable=False)
|
||||
Time = Column(ARRAY(String(3)), nullable=False)
|
||||
Soft_skills = Column(String(155), nullable=False)
|
||||
Link = Column(String(155), nullable=False)
|
||||
Email = Column(String(166), nullable=False)
|
||||
Phone_number = Column(String(16), nullable=False)
|
||||
|
||||
class Jobs(Base):
|
||||
__tablename__ = 'Jobs'
|
||||
JobID = Column(Integer, primary_key=True, autoincrement=True)
|
||||
UserID = Column(Integer, ForeignKey(
|
||||
"Users.UserID", ondelete="CASCADE"), nullable=False)
|
||||
Company_name = Column(String(155), nullable=False)
|
||||
Link_to_job = Column(String(155), nullable=True)
|
||||
Job_name = Column(String(155), nullable=False)
|
||||
Year = Column(String(1), nullable=False)
|
||||
Qualification = Column(Boolean, nullable=False)
|
||||
Salary_after_interview = Column(Boolean, nullable=False)
|
||||
Salary = Column(Integer, nullable=False)
|
||||
Email = Column(String(155), nullable=False)
|
||||
Archive = Column(Boolean, nullable=False)
|
||||
Responsibilities = Column(String(255), nullable=False)
|
||||
Time = Column(ARRAY(String), nullable=False)
|
||||
|
||||
class Hard_skills(Base):
|
||||
__tablename__ = 'Hard_skills'
|
||||
Hard_skillID = Column(Integer, primary_key=True, nullable=False, autoincrement=True)
|
||||
Title = Column(String, nullable=False, unique=True)
|
||||
|
||||
class StudentsHard_skills(Base):
|
||||
__tablename__ = 'StudentsHard_skills'
|
||||
|
||||
StudentID = Column(Integer, ForeignKey(
|
||||
"Students.StudentID", onupdate="CASCADE", ondelete="CASCADE"), primary_key=True)
|
||||
Hard_skillID = Column(Integer, ForeignKey(
|
||||
"Hard_skills.Hard_skillID", onupdate="CASCADE", ondelete="CASCADE"), primary_key=True)
|
||||
|
||||
class JobsHard_skills(Base):
|
||||
__tablename__ = 'JobsHard_skills'
|
||||
|
||||
JobID = Column(Integer, ForeignKey(
|
||||
"Jobs.JobID", onupdate="CASCADE", ondelete="CASCADE"), primary_key=True)
|
||||
Hard_skillID = Column(Integer, ForeignKey(
|
||||
"Hard_skills.Hard_skillID", onupdate="CASCADE", ondelete="CASCADE"), primary_key=True)
|
||||
|
||||
class Responses(Base):
|
||||
__tablename__ = 'Responses'
|
||||
|
||||
ResponseID = Column(Integer, primary_key=True, autoincrement=True)
|
||||
StudentID = Column(Integer, ForeignKey(
|
||||
"Students.StudentID", onupdate="CASCADE", ondelete="CASCADE"))
|
||||
JobID = Column(Integer, ForeignKey(
|
||||
"Jobs.JobID", onupdate="CASCADE", ondelete="CASCADE"))
|
||||
Status = Column(String(50), nullable=True)
|
||||
Comment = Column(String(700), nullable=True)
|
||||
Link = Column(String(155), nullable=True)
|
||||
|
||||
__table_args__ = (
|
||||
UniqueConstraint('StudentID', 'JobID', name='unique_student_job_for_responses'),
|
||||
)
|
||||
|
||||
class Matches(Base):
|
||||
__tablename__ = 'Matches'
|
||||
StudentID = Column(Integer, ForeignKey(
|
||||
"Students.StudentID", onupdate="CASCADE", ondelete="CASCADE"), primary_key=True)
|
||||
JobID = Column(Integer, ForeignKey(
|
||||
"Jobs.JobID", onupdate="CASCADE", ondelete="CASCADE"), primary_key=True)
|
||||
Match = Column(Integer, nullable=False)
|
||||
Reference in New Issue
Block a user