"""Add platform_api_credentials table for SuperAdmin retailer API keys. Revision ID: 003_platform_api_credentials Revises: 002_platform_listing_price """ from alembic import op import sqlalchemy as sa revision = "003_platform_api_credentials" down_revision = "002_platform_listing_price" branch_labels = None depends_on = None def upgrade() -> None: op.create_table( "platform_api_credentials", sa.Column("id", sa.String(length=36), primary_key=True), sa.Column("platform_id", sa.String(length=50), nullable=False), sa.Column("provider", sa.String(length=50), nullable=False), sa.Column("api_key_encrypted", sa.String(length=512), nullable=False), sa.Column("api_secret_encrypted", sa.String(length=512), nullable=True), sa.Column("is_enabled", sa.Boolean(), nullable=False, server_default=sa.true()), sa.Column("updated_by_id", sa.String(length=36), nullable=True), sa.Column("updated_by_email", sa.String(length=255), nullable=False, server_default=""), sa.Column("created_at", sa.DateTime(timezone=True), nullable=True), sa.Column("updated_at", sa.DateTime(timezone=True), nullable=True), sa.ForeignKeyConstraint(["updated_by_id"], ["users.id"], ondelete="SET NULL"), sa.UniqueConstraint("platform_id", name="uq_platform_api_platform"), ) op.create_index("ix_platform_api_credentials_platform_id", "platform_api_credentials", ["platform_id"]) def downgrade() -> None: op.drop_index("ix_platform_api_credentials_platform_id", table_name="platform_api_credentials") op.drop_table("platform_api_credentials")