Permission fix

This commit is contained in:
Koncept Kit
2025-12-17 01:33:47 +07:00
parent 050cccae8f
commit f1798ea922
2 changed files with 34 additions and 4 deletions

17
clear_permissions.sql Normal file
View 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;

View File

@@ -168,11 +168,24 @@ def seed_permissions():
# Step 1: Clear existing permissions and role_permissions # Step 1: Clear existing permissions and role_permissions
print("\n📦 Clearing existing permissions and role assignments...") 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() db.commit()
print(f"✓ Cleared {deleted_rp} role-permission mappings") db.execute(text("DELETE FROM permissions"))
print(f"✓ Cleared {deleted_p} 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 # Step 2: Create permissions
print(f"\n📝 Creating {len(PERMISSIONS)} permissions...") print(f"\n📝 Creating {len(PERMISSIONS)} permissions...")