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; 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)
-- ═══════════════════════════════════════════════════════════════════════════ -- ═══════════════════════════════════════════════════════════════════════════
DO $$ BEGIN
ALTER TRIGGER trg_shop_artikel_aktualisiert ON ausruestung_artikel RENAME TO trg_ausruestung_artikel_aktualisiert; 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; 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'; UPDATE feature_groups SET id = 'ausruestungsanfrage' WHERE id = 'shop';
-- ═══════════════════════════════════════════════════════════════════════════ -- Update permissions
-- 5. Update permissions
-- ═══════════════════════════════════════════════════════════════════════════
UPDATE permissions SET UPDATE permissions SET
id = REPLACE(id, 'shop:', 'ausruestungsanfrage:'), id = REPLACE(id, 'shop:', 'ausruestungsanfrage:'),
feature_group_id = 'ausruestungsanfrage' feature_group_id = 'ausruestungsanfrage'
WHERE feature_group_id = 'shop'; WHERE feature_group_id = 'shop';
-- ═══════════════════════════════════════════════════════════════════════════ -- Update group_permissions
-- 6. Update group_permissions
-- ═══════════════════════════════════════════════════════════════════════════
UPDATE group_permissions SET UPDATE group_permissions SET
permission_id = REPLACE(permission_id, 'shop:', 'ausruestungsanfrage:') permission_id = REPLACE(permission_id, 'shop:', 'ausruestungsanfrage:')
WHERE permission_id LIKE 'shop:%'; 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'; UPDATE benachrichtigungen SET quell_typ = 'ausruestung_anfrage' WHERE quell_typ = 'shop_anfrage';