-- permissions tablosuna scope kolonu ekle -- scope=FALSE → kullanıcının yalnızca kendi içeriğine uygulanır (örn. kendi yorumunu sil) -- scope=TRUE → admin kapsamı, herhangi bir içeriğe uygulanır ALTER TABLE permissions ADD COLUMN IF NOT EXISTS scope BOOLEAN NOT NULL DEFAULT FALSE; -- Eski unique constraint'i kaldır, scope dahil yeni constraint ekle ALTER TABLE permissions DROP CONSTRAINT IF EXISTS permissions_module_action_key; ALTER TABLE permissions ADD CONSTRAINT permissions_module_action_scope_key UNIQUE (module, action, scope); -- Mevcut izinlere scope=FALSE atandı (DEFAULT ile zaten geldi) -- Admin scope varyantlarını ekle INSERT INTO permissions (module, action, description, scope) VALUES -- comment admin scope ('comment', 'delete', 'Herhangi bir yorumu sil', TRUE), -- issue admin scope ('issue', 'update', 'Herhangi bir sorunu güncelle', TRUE), ('issue', 'delete', 'Herhangi bir sorunu sil', TRUE), -- profile admin scope ('profile', 'update', 'Herhangi bir profili güncelle', TRUE), ('profile', 'delete', 'Herhangi bir profili sil', TRUE), -- report admin scope ('report', 'create', 'Herhangi bir kullanıcı için rapor oluştur', TRUE) ON CONFLICT (module, action, scope) DO NOTHING;