Files
dashboard/backend/src/database/migrations/085_personal_equipment_eigenschaften.sql

27 lines
1.3 KiB
SQL

-- Migration: 085_personal_equipment_eigenschaften
-- Adds eigenschaften (characteristics) storage for persoenliche_ausruestung
-- and extends ausruestung_anfrage_positionen for status change requests.
-- 1. Characteristics table for personal equipment items
CREATE TABLE IF NOT EXISTS persoenliche_ausruestung_eigenschaften (
id SERIAL PRIMARY KEY,
persoenlich_id UUID NOT NULL REFERENCES persoenliche_ausruestung(id) ON DELETE CASCADE,
eigenschaft_id INT REFERENCES ausruestung_artikel_eigenschaften(id) ON DELETE SET NULL,
name TEXT NOT NULL,
wert TEXT NOT NULL,
UNIQUE(persoenlich_id, eigenschaft_id)
);
CREATE INDEX IF NOT EXISTS idx_persoenliche_ausruestung_eigenschaften_persoenlich
ON persoenliche_ausruestung_eigenschaften(persoenlich_id);
-- 2. Add status-change request columns to anfrage positions
ALTER TABLE ausruestung_anfrage_positionen
ADD COLUMN IF NOT EXISTS persoenlich_id UUID REFERENCES persoenliche_ausruestung(id) ON DELETE SET NULL;
ALTER TABLE ausruestung_anfrage_positionen
ADD COLUMN IF NOT EXISTS aktueller_zustand TEXT;
ALTER TABLE ausruestung_anfrage_positionen
ADD COLUMN IF NOT EXISTS neuer_zustand TEXT CHECK (neuer_zustand IN ('gut','beschaedigt','abgaengig','verloren'));