"""Add FTS GIN indexes to knowledge_document.

Revision ID: 0021_add_fts_gin_indexes
Revises: 0020_add_message_history_json
Create Date: 2026-03-12
"""

from collections.abc import Sequence

import sqlalchemy as sa  # noqa: F401

from alembic import op

revision: str = "0021_add_fts_gin_indexes"
down_revision: str | None = "0020_add_message_history_json"
branch_labels: str | Sequence[str] | None = None
depends_on: str | Sequence[str] | None = None


def upgrade() -> None:
    op.execute(
        "CREATE INDEX IF NOT EXISTS ix_knowledge_document_fts_dutch ON knowledge_document USING gin(to_tsvector('dutch', content))"
    )
    op.execute(
        "CREATE INDEX IF NOT EXISTS ix_knowledge_document_fts_english ON knowledge_document USING gin(to_tsvector('english', content))"
    )


def downgrade() -> None:
    op.execute("DROP INDEX IF EXISTS ix_knowledge_document_fts_dutch")
    op.execute("DROP INDEX IF EXISTS ix_knowledge_document_fts_english")
