27 lines
1.3 KiB
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'));
|