mirror of
https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git
synced 2025-08-14 00:25:46 +02:00
чиним билд111
This commit is contained in:
@@ -1,24 +1,22 @@
|
||||
"""Database configuration"""
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
from .models.base import Base
|
||||
import os
|
||||
|
||||
SQLALCHEMY_DATABASE_URL = os.getenv(
|
||||
"DATABASE_URL",
|
||||
"postgresql://postgres:postgres123@postgres:5432/support_db"
|
||||
)
|
||||
|
||||
engine = create_engine(
|
||||
SQLALCHEMY_DATABASE_URL,
|
||||
pool_pre_ping=True,
|
||||
pool_size=5,
|
||||
max_overflow=10
|
||||
"DATABASE_URL", "postgresql://postgres:postgres123@localhost:5432/support_db"
|
||||
)
|
||||
|
||||
engine = create_engine(SQLALCHEMY_DATABASE_URL)
|
||||
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
|
||||
|
||||
Base = declarative_base()
|
||||
# Импортируем модели для создания таблиц
|
||||
from .models.employee import Employee
|
||||
from .models.request import Request
|
||||
|
||||
# Создаем таблицы
|
||||
Base.metadata.create_all(bind=engine)
|
||||
|
||||
def get_db():
|
||||
"""Get database session"""
|
||||
|
7
backend/app/models/base.py
Normal file
7
backend/app/models/base.py
Normal file
@@ -0,0 +1,7 @@
|
||||
"""Base models and imports"""
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey, Enum
|
||||
from sqlalchemy.sql import func
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
Base = declarative_base()
|
@@ -1,8 +1,5 @@
|
||||
"""Employee model"""
|
||||
from sqlalchemy import Column, Integer, String, DateTime
|
||||
from sqlalchemy.sql import func
|
||||
from sqlalchemy.orm import relationship
|
||||
from ..database import Base
|
||||
from .base import Base, Column, Integer, String, DateTime, func, relationship
|
||||
|
||||
class Employee(Base):
|
||||
__tablename__ = "employees"
|
||||
@@ -16,8 +13,5 @@ class Employee(Base):
|
||||
password = Column(String, nullable=False)
|
||||
created_at = Column(DateTime(timezone=True), server_default=func.now())
|
||||
|
||||
requests = relationship(
|
||||
"app.models.request.Request",
|
||||
back_populates="employee",
|
||||
lazy="dynamic"
|
||||
)
|
||||
# Определяем отношение к Request
|
||||
requests = relationship("Request", back_populates="employee")
|
@@ -1,8 +1,5 @@
|
||||
"""Request model"""
|
||||
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey, Enum
|
||||
from sqlalchemy.sql import func
|
||||
from sqlalchemy.orm import relationship
|
||||
from ..database import Base
|
||||
from .base import Base, Column, Integer, String, DateTime, ForeignKey, Enum, func, relationship
|
||||
import enum
|
||||
|
||||
class RequestStatus(str, enum.Enum):
|
||||
@@ -30,7 +27,4 @@ class Request(Base):
|
||||
status = Column(Enum(RequestStatus), nullable=False, default=RequestStatus.NEW)
|
||||
created_at = Column(DateTime(timezone=True), server_default=func.now())
|
||||
|
||||
employee = relationship(
|
||||
"app.models.employee.Employee",
|
||||
back_populates="requests"
|
||||
)
|
||||
employee = relationship("Employee", back_populates="requests")
|
||||
|
Reference in New Issue
Block a user