new features

This commit is contained in:
Matthias Hochmeister
2026-03-23 18:43:30 +01:00
parent 202a658b8d
commit 1b13e4f89e
31 changed files with 1022 additions and 517 deletions

View File

@@ -0,0 +1,59 @@
-- Migration 046: Rename Shop → Ausrüstungsanfrage
-- Renames all shop_* tables and updates permission references.
-- ═══════════════════════════════════════════════════════════════════════════
-- 1. Rename tables
-- ═══════════════════════════════════════════════════════════════════════════
ALTER TABLE IF EXISTS shop_artikel RENAME TO ausruestung_artikel;
ALTER TABLE IF EXISTS shop_anfragen RENAME TO ausruestung_anfragen;
ALTER TABLE IF EXISTS shop_anfrage_positionen RENAME TO ausruestung_anfrage_positionen;
ALTER TABLE IF EXISTS shop_anfrage_bestellung RENAME TO ausruestung_anfrage_bestellung;
-- ═══════════════════════════════════════════════════════════════════════════
-- 2. Rename indexes
-- ═══════════════════════════════════════════════════════════════════════════
ALTER INDEX IF EXISTS idx_shop_artikel_kategorie RENAME TO idx_ausruestung_artikel_kategorie;
ALTER INDEX IF EXISTS idx_shop_artikel_aktiv RENAME TO idx_ausruestung_artikel_aktiv;
ALTER INDEX IF EXISTS idx_shop_anfragen_anfrager RENAME TO idx_ausruestung_anfragen_anfrager;
ALTER INDEX IF EXISTS idx_shop_anfragen_status RENAME TO idx_ausruestung_anfragen_status;
ALTER INDEX IF EXISTS idx_shop_anfrage_positionen_anfrage RENAME TO idx_ausruestung_anfrage_positionen_anfrage;
-- ═══════════════════════════════════════════════════════════════════════════
-- 3. Rename triggers
-- ═══════════════════════════════════════════════════════════════════════════
ALTER TRIGGER IF EXISTS trg_shop_artikel_aktualisiert ON ausruestung_artikel RENAME TO trg_ausruestung_artikel_aktualisiert;
ALTER TRIGGER IF EXISTS trg_shop_anfragen_aktualisiert ON ausruestung_anfragen RENAME TO trg_ausruestung_anfragen_aktualisiert;
-- ═══════════════════════════════════════════════════════════════════════════
-- 4. Update feature_groups
-- ═══════════════════════════════════════════════════════════════════════════
UPDATE feature_groups SET id = 'ausruestungsanfrage' WHERE id = 'shop';
-- ═══════════════════════════════════════════════════════════════════════════
-- 5. 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 SET
permission_id = REPLACE(permission_id, 'shop:', 'ausruestungsanfrage:')
WHERE permission_id LIKE 'shop:%';
-- ═══════════════════════════════════════════════════════════════════════════
-- 7. Update notification quell_typ references
-- ═══════════════════════════════════════════════════════════════════════════
UPDATE benachrichtigungen SET quell_typ = 'ausruestung_anfrage' WHERE quell_typ = 'shop_anfrage';
UPDATE benachrichtigungen SET typ = 'ausruestung_anfrage' WHERE typ = 'shop_anfrage';
UPDATE benachrichtigungen SET link = '/ausruestungsanfrage' WHERE link = '/shop';