33 lines
868 B
Python
33 lines
868 B
Python
"""allow multiple active withdraw orders per user
|
|
|
|
Revision ID: withdraw_allow_multiple_active
|
|
Revises: ad_ecpm_trace_id
|
|
Create Date: 2026-07-12 18:00:00.000000
|
|
|
|
"""
|
|
from collections.abc import Sequence
|
|
|
|
import sqlalchemy as sa
|
|
|
|
from alembic import op
|
|
|
|
revision: str = "withdraw_allow_multiple_active"
|
|
down_revision: str | Sequence[str] | None = "ad_ecpm_trace_id"
|
|
branch_labels: str | Sequence[str] | None = None
|
|
depends_on: str | Sequence[str] | None = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
op.drop_index("ux_withdraw_order_user_active", table_name="withdraw_order")
|
|
|
|
|
|
def downgrade() -> None:
|
|
op.create_index(
|
|
"ux_withdraw_order_user_active",
|
|
"withdraw_order",
|
|
["user_id"],
|
|
unique=True,
|
|
sqlite_where=sa.text("status IN ('reviewing', 'pending')"),
|
|
postgresql_where=sa.text("status IN ('reviewing', 'pending')"),
|
|
)
|