projekt/sql/schema.sql
2025-12-11 10:56:00 +01:00

44 lines
1.3 KiB
SQL

CREATE TABLE IF NOT EXISTS person (
id SERIAL PRIMARY KEY,
name VARCHAR(200) NOT NULL,
phone VARCHAR(100)
);
CREATE TABLE IF NOT EXISTS vehicle (
id SERIAL PRIMARY KEY,
person_id INTEGER NOT NULL REFERENCES person(id) ON DELETE CASCADE,
brand VARCHAR(120) NOT NULL,
model VARCHAR(120) NOT NULL,
plate VARCHAR(50) NOT NULL
);
CREATE TABLE IF NOT EXISTS service_item (
id SERIAL PRIMARY KEY,
title VARCHAR(200) NOT NULL,
price NUMERIC(10,2) NOT NULL
);
CREATE TABLE IF NOT EXISTS work_order (
id SERIAL PRIMARY KEY,
vehicle_id INTEGER NOT NULL REFERENCES vehicle(id) ON DELETE CASCADE,
note TEXT,
created_at TIMESTAMP NOT NULL DEFAULT NOW()
);
CREATE TABLE IF NOT EXISTS work_order_item (
id SERIAL PRIMARY KEY,
work_order_id INTEGER NOT NULL REFERENCES work_order(id) ON DELETE CASCADE,
service_item_id INTEGER NOT NULL REFERENCES service_item(id),
quantity INTEGER NOT NULL
);
INSERT INTO service_item(title, price) VALUES
('Ölwechsel', 89.00),
('Bremsflüssigkeit wechseln', 59.00),
('Reifen wechseln (pro Stück)', 18.00),
('Klimaanlagen-Service', 99.00),
('Bremsbeläge erneuern vorne', 149.00),
('Zündkerzen austauschen', 79.00),
('Diagnose / Fehlerspeicher auslesen', 25.00),
('Arbeitszeit pro Stunde', 75.00)
ON CONFLICT DO NOTHING;