сделал таблички

This commit is contained in:
Archibald 2025-04-13 12:29:24 +05:00
parent ce4ef3456f
commit 2ae4abffa1
9 changed files with 111 additions and 0 deletions

View File

@ -0,0 +1,12 @@
from sqlalchemy import String, Column, Integer, ForeignKey
from app.domain.models.base import AdvancedBaseModel
class ContestCarouselPhotos(AdvancedBaseModel):
__tablename__ = 'contest_carousel_photos'
file_path = Column(String, nullable=False)
number = Column(Integer, nullable=False)
contest_id = Column(Integer, ForeignKey('contests.id'), nullable=False)

View File

@ -0,0 +1,11 @@
from sqlalchemy import Column, String, ForeignKey, Integer
from app.domain.models.base import AdvancedBaseModel
class ContestFile(AdvancedBaseModel):
__tablename__ = 'contest_files'
file_path = Column(String, nullable=False)
contest_id = Column(Integer, ForeignKey('contests.id'), nullable=False)

View File

@ -0,0 +1,9 @@
from sqlalchemy import VARCHAR, Column
from app.domain.models.base import AdvancedBaseModel
class ContestStatus(AdvancedBaseModel):
__tablename__ = 'contest_statuses'
title = Column(VARCHAR(150), unique=True, nullable=False)

View File

@ -0,0 +1,17 @@
from sqlalchemy import VARCHAR, Column, String, ForeignKey, Integer, Boolean
from app.domain.models.base import AdvancedBaseModel
class Contest(AdvancedBaseModel):
__tablename__ = 'contests'
title = Column(VARCHAR(150), unique=True, nullable=False)
description = Column(String)
web_url = Column(String, nullable=False)
photo = Column(String)
results = Column(String)
is_win = Column(Boolean)
project_id = Column(Integer, ForeignKey('projects.id'), nullable=False)
status_id = Column(Integer, ForeignKey('contest_status.id'), nullable=False)

View File

@ -0,0 +1,17 @@
from sqlalchemy import Column, VARCHAR, Date, ForeignKey, Integer
from app.domain.models.base import AdvancedBaseModel
class Profile(AdvancedBaseModel):
__tablename__ = 'profiles'
first_name = Column(VARCHAR(150), nullable=False)
last_name = Column(VARCHAR(150), nullable=False)
patronymic = Column(VARCHAR(150))
birthday = Column(Date, nullable=False)
email = Column(VARCHAR(150))
phone = Column(VARCHAR(28))
role_id = Column(Integer, ForeignKey('roles.id'), nullable=False)
team_id = Column(Integer, ForeignKey('teams.id'), nullable=False)

View File

@ -0,0 +1,11 @@
from sqlalchemy import Column, String, Integer, ForeignKey
from app.domain.models.base import AdvancedBaseModel
class ProjectFile(AdvancedBaseModel):
__tablename__ = 'project_files'
file_path = Column(String, unique=True, nullable=False)
project_id = Column(Integer, ForeignKey('projects.id'), nullable=False)

View File

@ -0,0 +1,10 @@
from sqlalchemy import Column, VARCHAR, String
from app.domain.models.base import AdvancedBaseModel
class Project(AdvancedBaseModel):
__tablename__ = 'projects'
description = Column(VARCHAR(150))
repository_url = Column(String, nullable=False)

View File

@ -0,0 +1,12 @@
from sqlalchemy import Column, VARCHAR, String
from app.domain.models.base import AdvancedBaseModel
class Team(AdvancedBaseModel):
__tablename__ = 'teams'
title = Column(VARCHAR(150), nullable=False)
description = Column(VARCHAR(150))
logo = Column(String)
git_url = Column(String)

View File

@ -0,0 +1,12 @@
from sqlalchemy import Column, VARCHAR, ForeignKey, Integer
from app.domain.models.base import AdvancedBaseModel
class User(AdvancedBaseModel):
__tablename__ = 'users'
login = Column(VARCHAR(150), unique=True, nullable=False)
password = Column(VARCHAR(150), nullable=False)
profile_id = Column(Integer, ForeignKey('profiles.id'), nullable=False)