perf(api,frontend): index hot queries, paginate chats, fix realtime
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
"""hot path indexes
|
||||
|
||||
Revision ID: c1f6b3d84a92
|
||||
Revises: b9e4d1a70c26
|
||||
Create Date: 2026-08-06 12:00:00.000000
|
||||
|
||||
"""
|
||||
|
||||
from collections.abc import Sequence
|
||||
|
||||
from alembic import op
|
||||
|
||||
revision: str = "c1f6b3d84a92"
|
||||
down_revision: str | None = "b9e4d1a70c26"
|
||||
branch_labels: str | Sequence[str] | None = None
|
||||
depends_on: str | Sequence[str] | None = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
op.execute(
|
||||
"CREATE INDEX ix_messages_chat_date ON messages "
|
||||
"(account_id, chat_id, date DESC, message_id DESC)"
|
||||
)
|
||||
op.execute("CREATE INDEX ix_avatars_owner ON avatars (account_id, owner_id)")
|
||||
op.execute("CREATE INDEX ix_media_message ON media (account_id, message_id)")
|
||||
op.execute(
|
||||
"CREATE INDEX ix_chat_history_chat_ts ON chat_history "
|
||||
"(account_id, chat_id, ts DESC)"
|
||||
)
|
||||
op.execute(
|
||||
"CREATE INDEX ix_read_receipts_chat ON read_receipts "
|
||||
"(account_id, chat_id, kind, message_id DESC)"
|
||||
)
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
op.execute("DROP INDEX IF EXISTS ix_read_receipts_chat")
|
||||
op.execute("DROP INDEX IF EXISTS ix_chat_history_chat_ts")
|
||||
op.execute("DROP INDEX IF EXISTS ix_media_message")
|
||||
op.execute("DROP INDEX IF EXISTS ix_avatars_owner")
|
||||
op.execute("DROP INDEX IF EXISTS ix_messages_chat_date")
|
||||
Reference in New Issue
Block a user