"""Add metered_stripe_meter_id to subscription_plans (Stripe Billing Meter API).

Revision ID: 030
Revises: 029

Stripe API 2025-03-31.basil+ requires metered prices to be backed by a Meter object.
The meter_id is created by the sync service and stored here so usage reporting can
derive the event_name without an extra API call.
"""
from alembic import op
import sqlalchemy as sa

revision = "030"
down_revision = "029"
branch_labels = None
depends_on = None


def upgrade() -> None:
    op.add_column(
        "subscription_plans",
        sa.Column("metered_stripe_meter_id", sa.String(100), nullable=True),
    )


def downgrade() -> None:
    op.drop_column("subscription_plans", "metered_stripe_meter_id")
