Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ dependencies = [
"uvicorn>=0.27.0",
"uvloop>=0.19.0",
"httptools>=0.7.1",
"uuid>=1.30",
"uuid6>=2024.1.12",
"alembic>=1.13.1",
"asyncpg>=0.29.0",
"SQLAlchemy-Utils>=0.41.1",
Expand Down
3 changes: 1 addition & 2 deletions src/app/core/db/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,11 @@
from sqlalchemy import Boolean, DateTime, text
from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy.orm import Mapped, mapped_column
from uuid6 import uuid7


class UUIDMixin:
uuid: Mapped[uuid_pkg.UUID] = mapped_column(
UUID(as_uuid=True), primary_key=True, default=uuid7, server_default=text("gen_random_uuid()")
UUID(as_uuid=True), primary_key=True, default=uuid_pkg.uuid4, server_default=text("gen_random_uuid()")
)


Expand Down
3 changes: 1 addition & 2 deletions src/app/core/schemas.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
from typing import Any

from pydantic import BaseModel, Field, field_serializer
from uuid6 import uuid7


class HealthCheck(BaseModel):
Expand All @@ -25,7 +24,7 @@ class ReadyCheck(BaseModel):

# -------------- mixins --------------
class UUIDSchema(BaseModel):
uuid: uuid_pkg.UUID = Field(default_factory=uuid7)
uuid: uuid_pkg.UUID = Field(default_factory=uuid_pkg.uuid4)


class TimestampSchema(BaseModel):
Expand Down
3 changes: 1 addition & 2 deletions src/app/models/post.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@

from sqlalchemy import UUID, DateTime, ForeignKey, String
from sqlalchemy.orm import Mapped, mapped_column
from uuid6 import uuid7

from ..core.db.database import Base

Expand All @@ -15,7 +14,7 @@ class Post(Base):
created_by_user_id: Mapped[int] = mapped_column(ForeignKey("user.id"), index=True)
title: Mapped[str] = mapped_column(String(30))
text: Mapped[str] = mapped_column(String(63206))
uuid: Mapped[uuid_pkg.UUID] = mapped_column(UUID(as_uuid=True), default_factory=uuid7, unique=True)
uuid: Mapped[uuid_pkg.UUID] = mapped_column(UUID(as_uuid=True), default_factory=uuid_pkg.uuid4, unique=True)
media_url: Mapped[str | None] = mapped_column(String, default=None)

created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), default_factory=lambda: datetime.now(UTC))
Expand Down
3 changes: 1 addition & 2 deletions src/app/models/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
from sqlalchemy import DateTime, ForeignKey, String
from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy.orm import Mapped, mapped_column
from uuid6 import uuid7

from ..core.db.database import Base

Expand All @@ -20,7 +19,7 @@ class User(Base):
hashed_password: Mapped[str] = mapped_column(String)

profile_image_url: Mapped[str] = mapped_column(String, default="https://profileimageurl.com")
uuid: Mapped[uuid_pkg.UUID] = mapped_column(UUID(as_uuid=True), default_factory=uuid7, unique=True)
uuid: Mapped[uuid_pkg.UUID] = mapped_column(UUID(as_uuid=True), default_factory=uuid_pkg.uuid4, unique=True)
created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), default_factory=lambda: datetime.now(UTC))
updated_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), default=None)
deleted_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), default=None)
Expand Down
4 changes: 2 additions & 2 deletions src/scripts/create_first_superuser.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import asyncio
import logging
import uuid
from datetime import UTC, datetime

from sqlalchemy import Boolean, Column, DateTime, ForeignKey, Integer, MetaData, String, Table, insert, select
from sqlalchemy.dialects.postgresql import UUID
from uuid6 import uuid7 # 126

from ..app.core.config import settings
from ..app.core.db.database import AsyncSession, async_engine, local_session
Expand Down Expand Up @@ -37,7 +37,7 @@ async def create_first_user(session: AsyncSession) -> None:
Column("email", String(50), nullable=False, unique=True, index=True),
Column("hashed_password", String, nullable=False),
Column("profile_image_url", String, default="https://profileimageurl.com"),
Column("uuid", UUID(as_uuid=True), default=uuid7, unique=True),
Column("uuid", UUID(as_uuid=True), default=uuid.uuid4, unique=True),
Column("created_at", DateTime(timezone=True), default=lambda: datetime.now(UTC), nullable=False),
Column("updated_at", DateTime),
Column("deleted_at", DateTime),
Expand Down
4 changes: 2 additions & 2 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,13 +72,13 @@ def sample_user_data():
@pytest.fixture
def sample_user_read():
"""Generate a sample UserRead object."""
from uuid6 import uuid7
import uuid

from src.app.schemas.user import UserRead

return UserRead(
id=1,
uuid=uuid7(),
uuid=uuid.uuid4(),
name=fake.name(),
username=fake.user_name(),
email=fake.email(),
Expand Down
19 changes: 0 additions & 19 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.