@@ -0,0 +1,115 @@
|
||||
"""Generalize provider order state columns."""
|
||||
|
||||
from collections.abc import Sequence
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
|
||||
|
||||
revision: str = "20260626_039"
|
||||
down_revision: str | None = "20260530_038"
|
||||
branch_labels: str | Sequence[str] | None = None
|
||||
depends_on: str | Sequence[str] | None = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
op.add_column(
|
||||
"orders",
|
||||
sa.Column("provider_order_id", sa.String(length=128), nullable=True),
|
||||
)
|
||||
op.add_column(
|
||||
"orders",
|
||||
sa.Column("provider_order_status", sa.String(length=64), nullable=True),
|
||||
)
|
||||
op.add_column(
|
||||
"orders",
|
||||
sa.Column("provider_waybill_id", sa.String(length=128), nullable=True),
|
||||
)
|
||||
op.add_column(
|
||||
"orders",
|
||||
sa.Column("provider_waybill_url", sa.String(length=2048), nullable=True),
|
||||
)
|
||||
op.add_column(
|
||||
"orders",
|
||||
sa.Column("provider_polled_at", sa.DateTime(timezone=True), nullable=True),
|
||||
)
|
||||
|
||||
op.execute(
|
||||
"""
|
||||
UPDATE orders
|
||||
SET
|
||||
provider_order_id = cdek_order_uuid,
|
||||
provider_order_status = cdek_order_status,
|
||||
provider_waybill_id = cdek_waybill_uuid,
|
||||
provider_waybill_url = cdek_waybill_url,
|
||||
provider_polled_at = cdek_polled_at
|
||||
WHERE provider = 'cdek'
|
||||
"""
|
||||
)
|
||||
op.execute(
|
||||
"""
|
||||
UPDATE orders
|
||||
SET provider_order_id = cse_order_number
|
||||
WHERE provider = 'cse'
|
||||
"""
|
||||
)
|
||||
|
||||
op.drop_column("orders", "cse_order_number")
|
||||
op.drop_column("orders", "cdek_polled_at")
|
||||
op.drop_column("orders", "cdek_order_status")
|
||||
op.drop_column("orders", "cdek_waybill_url")
|
||||
op.drop_column("orders", "cdek_waybill_uuid")
|
||||
op.drop_column("orders", "cdek_order_uuid")
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
op.add_column(
|
||||
"orders",
|
||||
sa.Column("cdek_order_uuid", sa.String(length=128), nullable=True),
|
||||
)
|
||||
op.add_column(
|
||||
"orders",
|
||||
sa.Column("cdek_waybill_uuid", sa.String(length=128), nullable=True),
|
||||
)
|
||||
op.add_column(
|
||||
"orders",
|
||||
sa.Column("cdek_waybill_url", sa.String(length=2048), nullable=True),
|
||||
)
|
||||
op.add_column(
|
||||
"orders",
|
||||
sa.Column("cdek_order_status", sa.String(length=64), nullable=True),
|
||||
)
|
||||
op.add_column(
|
||||
"orders",
|
||||
sa.Column("cdek_polled_at", sa.DateTime(timezone=True), nullable=True),
|
||||
)
|
||||
op.add_column(
|
||||
"orders",
|
||||
sa.Column("cse_order_number", sa.String(length=128), nullable=True),
|
||||
)
|
||||
|
||||
op.execute(
|
||||
"""
|
||||
UPDATE orders
|
||||
SET
|
||||
cdek_order_uuid = provider_order_id,
|
||||
cdek_order_status = provider_order_status,
|
||||
cdek_waybill_uuid = provider_waybill_id,
|
||||
cdek_waybill_url = provider_waybill_url,
|
||||
cdek_polled_at = provider_polled_at
|
||||
WHERE provider = 'cdek'
|
||||
"""
|
||||
)
|
||||
op.execute(
|
||||
"""
|
||||
UPDATE orders
|
||||
SET cse_order_number = provider_order_id
|
||||
WHERE provider = 'cse'
|
||||
"""
|
||||
)
|
||||
|
||||
op.drop_column("orders", "provider_polled_at")
|
||||
op.drop_column("orders", "provider_waybill_url")
|
||||
op.drop_column("orders", "provider_waybill_id")
|
||||
op.drop_column("orders", "provider_order_status")
|
||||
op.drop_column("orders", "provider_order_id")
|
||||
Reference in New Issue
Block a user