"""add stripe payment links to pricing plans Revision ID: add_stripe_payment_links Revises: 9206bf87bb8e Create Date: 2024-12-19 13:00:00.000000 """ from alembic import op import sqlalchemy as sa from sqlalchemy import text # revision identifiers, used by Alembic. revision = 'add_stripe_payment_links' down_revision = '9206bf87bb8e' branch_labels = None depends_on = None def upgrade(): conn = op.get_bind() # Check if columns already exist result = conn.execute(text(""" SELECT column_name FROM information_schema.columns WHERE table_name = 'pricing_plans' AND column_name IN ('monthly_stripe_link', 'annual_stripe_link') """)) existing_columns = [row[0] for row in result.fetchall()] # Add Stripe payment link columns if they don't exist if 'monthly_stripe_link' not in existing_columns: op.add_column('pricing_plans', sa.Column('monthly_stripe_link', sa.String(length=500), nullable=True)) if 'annual_stripe_link' not in existing_columns: op.add_column('pricing_plans', sa.Column('annual_stripe_link', sa.String(length=500), nullable=True)) def downgrade(): # Remove Stripe payment link columns op.drop_column('pricing_plans', 'annual_stripe_link') op.drop_column('pricing_plans', 'monthly_stripe_link')