"""Add FeatureSegmentMap

Revision ID: ab495ed5734e
Revises: 9ebfae091d79
Create Date: 2026-08-26 12:12:27.117634

"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql

# revision identifiers, used by Alembic.
revision: str = 'ab495ed5734e'
down_revision: Union[str, None] = '9ebfae091d79'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('feature_segment_map',
    sa.Column('id', sa.UUID(), nullable=False),
    sa.Column('feature_id', sa.UUID(), nullable=False),
    sa.Column('segment_id', sa.UUID(), nullable=False),
    sa.ForeignKeyConstraint(['feature_id'], ['special_feature_master.feature_id'], ),
    sa.ForeignKeyConstraint(['segment_id'], ['customer_segment_master.segment_id'], ),
    sa.PrimaryKeyConstraint('id'),
    sa.UniqueConstraint('feature_id', 'segment_id', name='uq_feature_segment')
    )
                                                # ### end Alembic commands ###


def downgrade() -> None:
    op.drop_table('feature_segment_map')