Files
web-hosts/domains/coppertone.tech/backend/migrations/006_superuser_hierarchy.down.sql
2025-12-26 13:38:04 +01:00

29 lines
1.1 KiB
SQL

-- =============================================================================
-- Migration 006: Superuser Hierarchy - ROLLBACK
-- =============================================================================
-- Drop triggers
DROP TRIGGER IF EXISTS prevent_initial_superuser_demotion ON user_roles;
DROP TRIGGER IF EXISTS prevent_delete_initial_superuser ON users;
DROP TRIGGER IF EXISTS check_initial_superuser ON users;
-- Drop functions
DROP FUNCTION IF EXISTS transfer_initial_superuser(INTEGER, INTEGER, TEXT);
DROP FUNCTION IF EXISTS prevent_initial_superuser_role_removal();
DROP FUNCTION IF EXISTS prevent_initial_superuser_deletion();
DROP FUNCTION IF EXISTS ensure_single_initial_superuser();
-- Drop superuser_transfers table
DROP TABLE IF EXISTS superuser_transfers;
-- Drop indexes
DROP INDEX IF EXISTS idx_users_initial_superuser;
-- Remove columns from users
ALTER TABLE users DROP COLUMN IF EXISTS is_protected;
ALTER TABLE users DROP COLUMN IF EXISTS is_initial_superuser;
-- Note: Cannot remove enum value in PostgreSQL
-- SUPERUSER will remain in user_role enum but can be ignored
-- To fully remove, you'd need to recreate the enum type