mirror of
https://github.com/ijaric/voice_assistant.git
synced 2025-05-24 14:33:26 +00:00
36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
import datetime
|
|
import uuid
|
|
|
|
import sqlalchemy
|
|
import sqlalchemy.dialects.postgresql
|
|
import sqlalchemy.ext.declarative
|
|
import sqlalchemy.orm as sa_orm
|
|
import sqlalchemy.sql as sa_sql
|
|
|
|
|
|
class Base(sa_orm.DeclarativeBase):
|
|
"""Base class for all models."""
|
|
|
|
@sqlalchemy.ext.declarative.declared_attr.directive
|
|
def __tablename__(cls):
|
|
return cls.__name__.lower()
|
|
|
|
__mapper_args__ = {"eager_defaults": True}
|
|
|
|
id: sa_orm.Mapped[uuid.UUID] = sa_orm.mapped_column(primary_key=True, default=uuid.uuid4)
|
|
|
|
|
|
class IdCreatedUpdatedBaseMixin:
|
|
# id: sa_orm.Mapped[int] = sa_orm.mapped_column(primary_key=True)
|
|
# id_field: sa_orm.Mapped[uuid.UUID] = sa_orm.mapped_column(name="uuid", primary_key=True, unique=True, default=uuid.uuid4, nullable=False)
|
|
created: sa_orm.Mapped[datetime.datetime] = sa_orm.mapped_column(server_default=sa_sql.func.now())
|
|
updated: sa_orm.Mapped[datetime.datetime] = sa_orm.mapped_column(
|
|
server_default=sa_sql.func.now(), onupdate=sa_sql.func.now()
|
|
)
|
|
|
|
# __mapper_args__ = {"eager_defaults": True}
|
|
|
|
# @sqlalchemy.ext.declarative.declared_attr.directive
|
|
# def __tablename__(cls) -> str:
|
|
# return cls.__name__.lower()
|