39 lines
854 B
Python
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")
|