feat: переезд на tortose

This commit is contained in:
Artem Tsyrulnikov
2025-12-11 09:17:31 +03:00
parent 2af23f84fe
commit 0f0de396e1
16 changed files with 437 additions and 611 deletions

View File

@@ -1,15 +1,22 @@
from typing import TYPE_CHECKING
from sqlalchemy.orm import Mapped, mapped_column, relationship
from src import domain
if TYPE_CHECKING:
from . import TargetChannel
from tortoise import fields
from tortoise.models import Model
class User(domain.Base):
telegram_id: Mapped[int] = mapped_column(unique=True, index=True)
username: Mapped[str | None]
class User(Model):
id = fields.UUIDField(pk=True)
telegram_id = fields.BigIntField(unique=True, index=True)
username = fields.CharField(max_length=255, null=True)
target_channels: Mapped[list['TargetChannel']] = relationship(back_populates='user')
created_at = fields.DatetimeField(auto_now_add=True)
updated_at = fields.DatetimeField(auto_now=True)
deleted_at = fields.DatetimeField(null=True)
# Reverse relations (автоматически создаются):
# target_channels: fields.ReverseRelation['TargetChannel']
# login_tokens: fields.ReverseRelation['LoginToken']
# creatives: fields.ReverseRelation['Creative']
# placements: fields.ReverseRelation['Placement']
# external_channels: fields.ReverseRelation['ExternalChannel']
class Meta:
table = 'user'