Skip to content

Commit 916dfd1

Browse files
authored
Merge pull request #596 from CBoYXD/add_tablename_generation
Add tablename generation
2 parents 3df1018 + 74b5201 commit 916dfd1

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

apps/dashboard_app/app/models/base.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
1+
from re import sub
12
from sqlalchemy.dialects.postgresql import UUID as PG_UUID
23
from uuid import uuid4, UUID
3-
from sqlalchemy.orm import DeclarativeBase, Mapped
4+
from sqlalchemy.orm import DeclarativeBase, Mapped, declared_attr
45
from sqlalchemy import Column, MetaData
56

7+
68
class Base(DeclarativeBase):
79
id: Mapped[UUID] = Column(PG_UUID(as_uuid=True), default=uuid4, primary_key=True)
810
metadata = MetaData()
11+
12+
@classmethod
13+
@declared_attr.directive
14+
def __tablename__(cls) -> str:
15+
return sub(r"(?<!^)(?=[A-Z])", "_", cls.__name__).lower()

apps/dashboard_app/app/models/watcher.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ class NotificationData(Base):
2727
)
2828

2929
class TelegramLog(Base):
30-
__tablename__ = "telegram_log"
3130

3231
sent_at: Mapped[datetime] = mapped_column(DateTime, default=datetime.now, nullable=False)
3332
notification_data_id: Mapped[str] = mapped_column(ForeignKey(NotificationData.id), nullable=False)

0 commit comments

Comments
 (0)