new features
This commit is contained in:
@@ -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)
|
||||||
-- ═══════════════════════════════════════════════════════════════════════════
|
-- ═══════════════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
ALTER TRIGGER trg_shop_artikel_aktualisiert ON ausruestung_artikel RENAME TO trg_ausruestung_artikel_aktualisiert;
|
DO $$ BEGIN
|
||||||
ALTER TRIGGER trg_shop_anfragen_aktualisiert ON ausruestung_anfragen RENAME TO trg_ausruestung_anfragen_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;
|
||||||
|
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';
|
||||||
|
|||||||
Reference in New Issue
Block a user