This commit is contained in:
2023-06-06 12:37:16 +03:00
parent 5372a6dfb2
commit e37e3db701
6 changed files with 33 additions and 40 deletions

View File

@ -1,8 +1,9 @@
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from db.settings import Settings
engine = create_engine("postgresql+psycopg2://user:password@postgres:5432/db")
engine = create_engine(Settings().uri)
Session = sessionmaker(bind=engine)
Base = declarative_base()

View File

@ -1,17 +0,0 @@
from sqlalchemy import create_engine, MetaData
from db.settings import Settings
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
class Database:
def __init__(self):
self.engine = create_engine("postgresql+psycopg2://user:password@postgres:5432/db")
self.meta = MetaData()
self.engine.connect()
self.meta.create_all(bind=self.engine)
self._Session = sessionmaker(bind=self.engine)
self.base = declarative_base()
def session(self):
return self._Session

View File

@ -13,16 +13,16 @@ class User(Base):
name = Column(String)
username = Column(String)
class Queue(Base):
__tablename__ = "queue"
id = Column(Uuid, primary_key=True, default=uuid.uuid4())
owner = relationship(User)
class QueueUser(Base):
__tablename__ = "queueuser"
id = Column(Uuid, primary_key=True, default=uuid.uuid4())
user_id =
#
# class Queue(Base):
# __tablename__ = "queue"
#
# id = Column(Uuid, primary_key=True, default=uuid.uuid4())
# owner = relationship(User)
#
#
# class QueueUser(Base):
# __tablename__ = "queueuser"
#
# id = Column(Uuid, primary_key=True, default=uuid.uuid4())
# user_id =

View File

@ -1,15 +1,16 @@
from dataclasses import dataclass
import os
@dataclass
class Settings:
dialect: str = "postgresql"
driver: str = "psycopg2"
user: str = "user"
password: str = "password"
db_name: str = "db"
host: str = "postgres"
port: int = 5432
dialect: str = os.getenv('DIALECT', "postgresql")
driver: str = os.getenv('DRIVER', "psycopg2")
user: str = os.getenv('USER', "user")
password: str = os.getenv('PASSWORD', "password")
db_name: str = os.getenv('DB_NAME', "db")
host: str = os.getenv('HOST', "postgres")
port: int = os.getenv('PORT', 5432)
@property
def uri(self):
def uri(self) -> str:
return f"{self.dialect}+{self.driver}://{self.user}:{self.password}@{self.host}:{self.port}/{self.db_name}"