"""Drop redundant DB roles (crm_platform_admin). crm_runtime was already dropped in migration 0085. crm_platform_admin was created in 0085 for one-time infrastructure use and is no longer needed. Revision ID: 0115 Revises: 0114 """ from alembic import op revision = "0115" down_revision = "0114" branch_labels = None depends_on = None def upgrade() -> None: # Drop crm_platform_admin if it exists op.execute( "DO $$ BEGIN " "DROP ROLE IF EXISTS crm_platform_admin; " "EXCEPTION WHEN insufficient_privilege THEN NULL; " "WHEN dependent_objects_still_exist THEN NULL; " "END $$;" ) def downgrade() -> None: # Recreate crm_platform_admin (for rollback) op.execute( "DO $$ BEGIN IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'crm_platform_admin') THEN " "CREATE ROLE crm_platform_admin NOSUPERUSER NOBYPASSRLS NOLOGIN; " "END IF; END $$;" )