new features

This commit is contained in:
Matthias Hochmeister
2026-03-23 18:51:44 +01:00
parent a63d78e9d9
commit 08249f1846

View File

@@ -21,37 +21,50 @@ ALTER INDEX IF EXISTS idx_shop_anfragen_status RENAME TO idx_ausruestung_anfrage
ALTER INDEX IF EXISTS idx_shop_anfrage_positionen_anfrage RENAME TO idx_ausruestung_anfrage_positionen_anfrage;
-- ═══════════════════════════════════════════════════════════════════════════
-- 3. Rename triggers
-- 3. Rename triggers (skip if not exist — wrapped in DO block)
-- ═══════════════════════════════════════════════════════════════════════════
ALTER TRIGGER trg_shop_artikel_aktualisiert ON ausruestung_artikel RENAME TO trg_ausruestung_artikel_aktualisiert;
ALTER TRIGGER trg_shop_anfragen_aktualisiert ON ausruestung_anfragen RENAME TO trg_ausruestung_anfragen_aktualisiert;
DO $$ BEGIN
ALTER TRIGGER trg_shop_artikel_aktualisiert ON ausruestung_artikel RENAME TO trg_ausruestung_artikel_aktualisiert;
EXCEPTION WHEN undefined_object THEN NULL;
END $$;
DO $$ BEGIN
ALTER TRIGGER trg_shop_anfragen_aktualisiert ON ausruestung_anfragen RENAME TO trg_ausruestung_anfragen_aktualisiert;
EXCEPTION WHEN undefined_object THEN NULL;
END $$;
-- ═══════════════════════════════════════════════════════════════════════════
-- 4. Update feature_groups
-- 4. Update feature_groups + permissions (drop FK temporarily to avoid constraint violation)
-- ═══════════════════════════════════════════════════════════════════════════
-- Drop FK constraints that reference feature_groups.id
ALTER TABLE permissions DROP CONSTRAINT IF EXISTS permissions_feature_group_id_fkey;
ALTER TABLE group_permissions DROP CONSTRAINT IF EXISTS group_permissions_permission_id_fkey;
-- Now safe to update feature_groups
UPDATE feature_groups SET id = 'ausruestungsanfrage' WHERE id = 'shop';
-- ═══════════════════════════════════════════════════════════════════════════
-- 5. Update permissions
-- ═══════════════════════════════════════════════════════════════════════════
-- Update permissions
UPDATE permissions SET
id = REPLACE(id, 'shop:', 'ausruestungsanfrage:'),
feature_group_id = 'ausruestungsanfrage'
WHERE feature_group_id = 'shop';
-- ═══════════════════════════════════════════════════════════════════════════
-- 6. Update group_permissions
-- ═══════════════════════════════════════════════════════════════════════════
-- Update group_permissions
UPDATE group_permissions SET
permission_id = REPLACE(permission_id, 'shop:', 'ausruestungsanfrage:')
WHERE permission_id LIKE 'shop:%';
-- Re-add FK constraints
ALTER TABLE permissions ADD CONSTRAINT permissions_feature_group_id_fkey
FOREIGN KEY (feature_group_id) REFERENCES feature_groups(id) ON UPDATE CASCADE ON DELETE CASCADE;
ALTER TABLE group_permissions ADD CONSTRAINT group_permissions_permission_id_fkey
FOREIGN KEY (permission_id) REFERENCES permissions(id) ON UPDATE CASCADE ON DELETE CASCADE;
-- ═══════════════════════════════════════════════════════════════════════════
-- 7. Update notification quell_typ references
-- 5. Update notification quell_typ references
-- ═══════════════════════════════════════════════════════════════════════════
UPDATE benachrichtigungen SET quell_typ = 'ausruestung_anfrage' WHERE quell_typ = 'shop_anfrage';