Files
monitoring-tg/alembic/versions/0004_add_extracted.py
2026-06-04 14:55:41 +03:00

35 lines
888 B
Python

"""add extracted JSONB column to messages
Revision ID: 0004
Revises: 0003
Create Date: 2026-05-05
"""
from typing import Sequence, Union
import sqlalchemy as sa
from alembic import op
from sqlalchemy.dialects import postgresql
revision: str = "0004"
down_revision: Union[str, None] = "0003"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
op.add_column(
"messages",
sa.Column("extracted", postgresql.JSONB(), nullable=True),
)
# GIN index for json queries (e.g. filter by extracted->'real_estate'->>'kind').
op.execute(
"CREATE INDEX IF NOT EXISTS ix_messages_extracted_gin "
"ON messages USING GIN (extracted)"
)
def downgrade() -> None:
op.execute("DROP INDEX IF EXISTS ix_messages_extracted_gin")
op.drop_column("messages", "extracted")