Files
svg-backend/backend/alembic/versions/20260319_13_price_rules_unique_target.py

39 lines
854 B
Python

"""price_rules unique target
Revision ID: 20260319_13
Revises: 20260319_12
Create Date: 2026-03-19 12:40:00
"""
from alembic import op
import sqlalchemy as sa
revision = "20260319_13"
down_revision = "20260319_12"
branch_labels = None
depends_on = None
def upgrade() -> None:
conn = op.get_bind()
conn.execute(sa.text("""
delete from price_rules pr
using price_rules newer
where pr.scheme_id = newer.scheme_id
and pr.target_type = newer.target_type
and pr.target_ref = newer.target_ref
and pr.id < newer.id
"""))
op.create_unique_constraint(
"uq_price_rules_scheme_target",
"price_rules",
["scheme_id", "target_type", "target_ref"],
)
def downgrade() -> None:
op.drop_constraint("uq_price_rules_scheme_target", "price_rules", type_="unique")