Permission fix
This commit is contained in:
17
clear_permissions.sql
Normal file
17
clear_permissions.sql
Normal file
@@ -0,0 +1,17 @@
|
||||
-- Clear all permissions and role_permissions
|
||||
-- Run this BEFORE running seed_permissions_rbac.py
|
||||
|
||||
BEGIN;
|
||||
|
||||
-- Delete all role_permission mappings
|
||||
DELETE FROM role_permissions;
|
||||
|
||||
-- Delete all permissions
|
||||
DELETE FROM permissions;
|
||||
|
||||
COMMIT;
|
||||
|
||||
-- Verify they're empty
|
||||
SELECT 'Permissions cleared:' as message, COUNT(*) as count FROM permissions
|
||||
UNION ALL
|
||||
SELECT 'Role-permissions cleared:', COUNT(*) FROM role_permissions;
|
||||
@@ -168,11 +168,24 @@ def seed_permissions():
|
||||
|
||||
# Step 1: Clear existing permissions and role_permissions
|
||||
print("\n📦 Clearing existing permissions and role assignments...")
|
||||
deleted_rp = db.query(RolePermission).delete()
|
||||
deleted_p = db.query(Permission).delete()
|
||||
|
||||
# Use raw SQL to ensure complete deletion
|
||||
from sqlalchemy import text
|
||||
db.execute(text("DELETE FROM role_permissions"))
|
||||
db.commit()
|
||||
print(f"✓ Cleared {deleted_rp} role-permission mappings")
|
||||
print(f"✓ Cleared {deleted_p} permissions")
|
||||
db.execute(text("DELETE FROM permissions"))
|
||||
db.commit()
|
||||
|
||||
# Verify they're cleared
|
||||
rp_count = db.execute(text("SELECT COUNT(*) FROM role_permissions")).scalar()
|
||||
p_count = db.execute(text("SELECT COUNT(*) FROM permissions")).scalar()
|
||||
|
||||
print(f"✓ Cleared role-permission mappings (verified: {rp_count} remaining)")
|
||||
print(f"✓ Cleared permissions (verified: {p_count} remaining)")
|
||||
|
||||
if rp_count > 0 or p_count > 0:
|
||||
print(f"\n⚠️ WARNING: Tables not fully cleared! Stopping.")
|
||||
return
|
||||
|
||||
# Step 2: Create permissions
|
||||
print(f"\n📝 Creating {len(PERMISSIONS)} permissions...")
|
||||
|
||||
Reference in New Issue
Block a user