Files
leocrm/alembic/versions/0115_drop_redundant_db_roles.py
T

37 lines
941 B
Python
Raw Normal View History

"""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 $$;"
)