"""add notification_date

Revision ID: aa3f1d176c23
Revises: f2ae20783fac
Create Date: 2026-06-19 08:53:00.770090
"""

from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa


revision: str = "aa3f1d176c23"
down_revision: Union[str, Sequence[str], None] = "f2ae20783fac"
branch_labels = None
depends_on = None


def upgrade() -> None:

    with op.batch_alter_table("notification_logs") as batch_op:

        batch_op.add_column(
            sa.Column(
                "notification_date",
                sa.Date(),
                nullable=True
            )
        )

        batch_op.create_index(
            "idx_notification_daily",
            ["order_id", "notification_date"],
            unique=False
        )

    with op.batch_alter_table("orders") as batch_op:

        batch_op.create_index(
            "idx_orders_expiration",
            ["payment_status", "expiration_date"],
            unique=False
        )


def downgrade() -> None:

    with op.batch_alter_table("orders") as batch_op:

        batch_op.drop_index("idx_orders_expiration")

    with op.batch_alter_table("notification_logs") as batch_op:

        batch_op.drop_index("idx_notification_daily")

        batch_op.drop_column("notification_date")