sqlalchemy is a good orm
This commit is contained in:
@ -1,9 +1,11 @@
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy.exc import OperationalError
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
from db.settings import Settings
|
||||
|
||||
engine = create_engine(Settings().uri)
|
||||
|
||||
Session = sessionmaker(bind=engine)
|
||||
|
||||
Base = declarative_base()
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy import Column, Integer, String, BigInteger, Uuid
|
||||
from sqlalchemy import Column, Integer, String, BigInteger, ForeignKey
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
import uuid
|
||||
@ -13,16 +14,22 @@ 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 =
|
||||
owns_queues = relationship("Queue", backref="owner")
|
||||
takes_part_in_queues = relationship("QueueUser", backref="user")
|
||||
|
||||
|
||||
class Queue(Base):
|
||||
__tablename__ = "queue"
|
||||
|
||||
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
|
||||
owner_id = Column(BigInteger, ForeignKey("user.id"))
|
||||
|
||||
users = relationship("QueueUser", backref="queue")
|
||||
|
||||
|
||||
class QueueUser(Base):
|
||||
__tablename__ = "queueuser"
|
||||
|
||||
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
|
||||
user_id = Column(BigInteger, ForeignKey("user.id"))
|
||||
queue_id = Column(UUID(as_uuid=True), ForeignKey("queue.id"))
|
||||
|
||||
Reference in New Issue
Block a user