"""add model_id to qa_station_template_map

Revision ID: 61fcd0203836
Revises: 8007f2acdd52
Create Date: 2026-10-13 14:53:42.769332

"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision: str = '61fcd0203836'
down_revision: Union[str, None] = '8007f2acdd52'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
    conn = op.get_bind()
    conn.execute(sa.text("""
        ALTER TABLE qa_station_template_map 
        ADD COLUMN IF NOT EXISTS model_id UUID REFERENCES vehicle_model_master(model_id) ON DELETE SET NULL;
    """))
    conn.execute(sa.text("""
        ALTER TABLE qa_station_template_map 
        ADD COLUMN IF NOT EXISTS body_type_id UUID REFERENCES body_type_master(body_type_id) ON DELETE SET NULL;
    """))
    conn.execute(sa.text("""
        ALTER TABLE qa_station_template_map 
        ADD COLUMN IF NOT EXISTS model_ids JSONB DEFAULT '[]'::jsonb;
    """))
    conn.execute(sa.text("""
        ALTER TABLE qa_station_template_map 
        ADD COLUMN IF NOT EXISTS body_type_ids JSONB DEFAULT '[]'::jsonb;
    """))


def downgrade() -> None:
    op.drop_column('qa_station_template_map', 'model_id')

