mirror of
https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git
synced 2025-08-14 00:25:46 +02:00
add websockets suppor93
This commit is contained in:
@@ -1,19 +1,19 @@
|
||||
"""Database configuration"""
|
||||
"""Database session configuration"""
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
from .core.config import settings
|
||||
from .db.base import Base
|
||||
from .config import settings
|
||||
|
||||
# Для создания таблиц импортируем модели
|
||||
from .models.employee import Employee # noqa
|
||||
from .models.request import Request # noqa
|
||||
from .models.token import Token # noqa
|
||||
|
||||
# Создаем URL для подключения к базе данных
|
||||
SQLALCHEMY_DATABASE_URL = settings.DATABASE_URL
|
||||
|
||||
# Создаем движок SQLAlchemy
|
||||
engine = create_engine(SQLALCHEMY_DATABASE_URL)
|
||||
|
||||
# Создаем фабрику сессий
|
||||
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
|
||||
|
||||
# Функция для получения сессии базы данных
|
||||
def get_db():
|
||||
db = SessionLocal()
|
||||
try:
|
||||
|
@@ -1,8 +1,4 @@
|
||||
"""Import all models for Alembic autogenerate support"""
|
||||
from app.db.base_class import Base
|
||||
from app.models.employee import Employee
|
||||
from app.models.request import Request
|
||||
from app.models.token import Token
|
||||
"""Database base configuration"""
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
|
||||
# Импортируем все модели, чтобы Alembic мог их обнаружить
|
||||
__all__ = ["Base", "Employee", "Request", "Token"]
|
||||
Base = declarative_base()
|
@@ -1,5 +1,6 @@
|
||||
"""Models initialization"""
|
||||
from .employee import Employee
|
||||
from .request import Request
|
||||
from .token import Token
|
||||
|
||||
__all__ = ['Employee', 'Request']
|
||||
__all__ = ["Employee", "Request", "Token"]
|
@@ -1,10 +1,11 @@
|
||||
"""Employee model"""
|
||||
from sqlalchemy import Column, Integer, String, DateTime
|
||||
from sqlalchemy.sql import func
|
||||
"""Employee models"""
|
||||
from sqlalchemy import Column, Integer, String
|
||||
from sqlalchemy.orm import relationship
|
||||
from app.db.base_class import Base
|
||||
from ..db.base import Base
|
||||
|
||||
|
||||
class Employee(Base):
|
||||
"""Employee model"""
|
||||
__tablename__ = "employees"
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
@@ -13,7 +14,6 @@ class Employee(Base):
|
||||
department = Column(String, nullable=False)
|
||||
office = Column(String, nullable=False)
|
||||
hashed_password = Column(String, nullable=False)
|
||||
created_at = Column(DateTime(timezone=True), server_default=func.now())
|
||||
|
||||
# Определяем отношение к Request
|
||||
requests = relationship("Request", back_populates="employee", cascade="all, delete-orphan")
|
@@ -2,7 +2,8 @@
|
||||
from enum import Enum
|
||||
from sqlalchemy import Column, Integer, String, ForeignKey, DateTime, Enum as SQLAlchemyEnum
|
||||
from sqlalchemy.sql import func
|
||||
from ..database import Base
|
||||
from sqlalchemy.orm import relationship
|
||||
from ..db.base import Base
|
||||
|
||||
|
||||
class RequestStatus(str, Enum):
|
||||
@@ -33,3 +34,6 @@ class Request(Base):
|
||||
employee_id = Column(Integer, ForeignKey("employees.id", ondelete="CASCADE"), nullable=False)
|
||||
created_at = Column(DateTime(timezone=True), server_default=func.now(), nullable=False)
|
||||
updated_at = Column(DateTime(timezone=True), onupdate=func.now())
|
||||
|
||||
# Определяем отношение к Employee
|
||||
employee = relationship("Employee", back_populates="requests")
|
||||
|
Reference in New Issue
Block a user