Skip to content

Commit 2f0ad82

Browse files
committed
refactor: use integer primary keys in shared base model
1 parent 5c846fc commit 2f0ad82

3 files changed

Lines changed: 10 additions & 15 deletions

File tree

src/shared/database/mixin/tenant.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
1-
from uuid import UUID
2-
3-
from sqlalchemy import ForeignKey
4-
from sqlalchemy.dialects.postgresql import UUID as PG_UUID
1+
from sqlalchemy import ForeignKey, Integer
52
from sqlalchemy.orm import Mapped, mapped_column
63

74

85
class TenantMixin:
9-
tenant_id: Mapped[UUID] = mapped_column(
10-
PG_UUID(as_uuid=True),
6+
tenant_id: Mapped[int] = mapped_column(
7+
Integer,
118
ForeignKey("tenants.id"),
129
nullable=False,
1310
sort_order=-60,

src/shared/database/model.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
1-
from uuid import UUID, uuid4
2-
3-
from sqlalchemy.dialects.postgresql import UUID as PG_UUID
1+
from sqlalchemy import Integer
42
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column
53

64
from src.shared.database.mixin.tenant import TenantMixin # noqa: F401
75

86

97
class Base(DeclarativeBase):
10-
id: Mapped[UUID] = mapped_column(
11-
PG_UUID(as_uuid=True),
8+
id: Mapped[int] = mapped_column(
9+
Integer,
1210
primary_key=True,
13-
default=uuid4,
11+
autoincrement=True,
1412
sort_order=-100,
1513
)

tests/test_database_relationships.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import pytest
2-
from sqlalchemy import Uuid
2+
from sqlalchemy import Integer
33
from sqlalchemy.orm import configure_mappers
44

55
import src.modules.authorization.infrastructure.models.permission_model # noqa: F401
@@ -51,5 +51,5 @@ def test_relationship_column_declares_expected_foreign_key(table, column, target
5151

5252

5353
@pytest.mark.parametrize("table", NORMALIZED_USER_TABLES)
54-
def test_normalized_user_identifier_uses_uuid(table):
55-
assert isinstance(Base.metadata.tables[table].c.user_id.type, Uuid)
54+
def test_normalized_user_identifier_uses_int(table):
55+
assert isinstance(Base.metadata.tables[table].c.user_id.type, Integer)

0 commit comments

Comments
 (0)