Spaces:
Running
Running
| """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") | |