apply sqlalchemy 2.0 declarative base and mapped columns

This commit is contained in:
Jakub Miazek
2023-09-17 11:05:21 +02:00
parent f5de28ec5f
commit d0372e4420
8 changed files with 24 additions and 31 deletions

View File

@@ -1,9 +1,10 @@
import uuid
from fastapi import HTTPException, status
from sqlalchemy import Column, String, select
from sqlalchemy import String, select
from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.orm import mapped_column, Mapped
from app.models.base import Base
@@ -11,9 +12,9 @@ from app.models.base import Base
class Stuff(Base):
__tablename__ = "stuff"
__table_args__ = ({"schema": "happy_hog"},)
id = Column(UUID(as_uuid=True), unique=True, default=uuid.uuid4, autoincrement=True)
name = Column(String, nullable=False, primary_key=True, unique=True)
description = Column(String, nullable=False)
id: Mapped[uuid.UUID] = mapped_column(UUID(as_uuid=True), unique=True, default=uuid.uuid4, autoincrement=True)
name: Mapped[str] = mapped_column(String, nullable=False, primary_key=True, unique=True)
description: Mapped[str] = mapped_column(String, nullable=False)
@classmethod
async def find(cls, db_session: AsyncSession, name: str):