1
0
mirror of https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git synced 2025-08-14 00:25:46 +02:00

миграции2

This commit is contained in:
MoonTestUse1
2025-01-04 03:52:52 +06:00
parent 6dceccc2a9
commit d7ab6982a0
6 changed files with 17 additions and 18 deletions

View File

@@ -1,11 +1,8 @@
"""Base class for SQLAlchemy models""" """Import all models for Alembic autogenerate support"""
from sqlalchemy.orm import declarative_base
from app.db.base_class import Base from app.db.base_class import Base
from app.models.employee import Employee from app.models.employee import Employee
from app.models.request import Request from app.models.request import Request
from app.models.token import Token from app.models.token import Token
Base = declarative_base()
# Импортируем все модели, чтобы Alembic мог их обнаружить # Импортируем все модели, чтобы Alembic мог их обнаружить
__all__ = ["Base", "Employee", "Request", "Token"] __all__ = ["Base", "Employee", "Request", "Token"]

View File

@@ -0,0 +1,4 @@
"""Base class for SQLAlchemy models"""
from sqlalchemy.orm import declarative_base
Base = declarative_base()

View File

@@ -1,21 +1,19 @@
"""Employee model""" """Employee model"""
from sqlalchemy import Column, Integer, String from sqlalchemy import Column, Integer, String, DateTime
from sqlalchemy.sql import func
from sqlalchemy.orm import relationship from sqlalchemy.orm import relationship
from ..db.base import Base from app.db.base_class import Base
class Employee(Base): class Employee(Base):
__tablename__ = "employees" __tablename__ = "employees"
id = Column(Integer, primary_key=True, index=True) id = Column(Integer, primary_key=True, index=True)
first_name = Column(String, index=True) first_name = Column(String, nullable=False)
last_name = Column(String, index=True) last_name = Column(String, nullable=False)
department = Column(String) department = Column(String, nullable=False)
office = Column(String) office = Column(String, nullable=False)
hashed_password = Column(String) hashed_password = Column(String, nullable=False)
created_at = Column(DateTime(timezone=True), server_default=func.now())
# Определяем отношение к Request # Определяем отношение к Request
requests = relationship( requests = relationship("Request", back_populates="employee")
"Request",
back_populates="employee",
cascade="all, delete-orphan"
)

View File

@@ -3,7 +3,7 @@ from enum import Enum
from sqlalchemy import Column, Integer, String, ForeignKey, DateTime from sqlalchemy import Column, Integer, String, ForeignKey, DateTime
from sqlalchemy.sql import func from sqlalchemy.sql import func
from sqlalchemy.orm import relationship from sqlalchemy.orm import relationship
from ..db.base import Base from app.db.base_class import Base
class RequestStatus(str, Enum): class RequestStatus(str, Enum):
NEW = "new" NEW = "new"

View File

@@ -1,7 +1,7 @@
"""Token model""" """Token model"""
from sqlalchemy import Column, Integer, String, DateTime from sqlalchemy import Column, Integer, String, DateTime
from sqlalchemy.sql import func from sqlalchemy.sql import func
from ..db.base import Base from app.db.base_class import Base
class Token(Base): class Token(Base):
__tablename__ = "tokens" __tablename__ = "tokens"

Binary file not shown.