From cd8ecfb561ae18e8e364b7d6f426bb9bfca3197c Mon Sep 17 00:00:00 2001 From: LeterZP Date: Mon, 29 Jun 2026 15:55:17 +0300 Subject: [PATCH] Added initial script for starting database --- init.sql | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 init.sql diff --git a/init.sql b/init.sql new file mode 100644 index 0000000..539fc15 --- /dev/null +++ b/init.sql @@ -0,0 +1,92 @@ +BEGIN; + +CREATE TYPE master_spec AS ENUM ('работа1', 'работа2', 'и тд'); + +CREATE TABLE "user" ( + id UUID PRIMARY KEY, + surname TEXT NOT NULL, + Name TEXT NOT NULL, + lastname TEXT, + avatar TEXT, + bday DATE, + login TEXT, + password TEXT, + email TEXT, + phone TEXT +); + +CREATE TABLE master ( + id UUID PRIMARY KEY, + surname TEXT NOT NULL, + name TEXT NOT NULL, + lastname TEXT, + avatar TEXT, + bday TEXT, + spec MASTER_SPEC NOT NULL, + login TEXT, + password TEXT, + email TEXT, + phone TEXT +); + +CREATE TABLE service ( + id UUID PRIMARY KEY, + spec MASTER_SPEC, + name TEXT NOT NULL, + description TEXT +); + +CREATE TABLE part ( + id UUID PRIMARY KEY, + name TEXT NOT NULL, + description TEXT, + stock INT NOT NULL +); + +CREATE TABLE vehicle ( + id UUID PRIMARY KEY, + owner_id UUID NOT NULL REFERENCES "user" (id) ON DELETE CASCADE, + gos_num TEXT NOT NULL, + mark TEXT, + model TEXT, + vin TEXT +); + +CREATE TABLE "order" ( + id UUID PRIMARY KEY, + vehicle_id UUID NOT NULL REFERENCES vehicle (id) ON DELETE CASCADE, + date_time TIMESTAMP +); + +CREATE TABLE part_list ( + id UUID PRIMARY KEY, + order_id UUID NOT NULL REFERENCES "order" (id) ON DELETE CASCADE, + part_id UUID NOT NULL REFERENCES part (id) ON DELETE CASCADE +); + +CREATE TABLE service_list ( + id UUID PRIMARY KEY, + order_id UUID NOT NULL REFERENCES "order" (id) ON DELETE CASCADE, + service_id UUID NOT NULL REFERENCES service (id) ON DELETE CASCADE, + master_id UUID NOT NULL REFERENCES master (id) ON DELETE CASCADE +); + +CREATE TABLE receipt ( + id UUID PRIMARY KEY, + order_id UUID NOT NULL REFERENCES "order" (id) ON DELETE CASCADE, + status BOOL NOT NULL +); + +CREATE TABLE service_cart ( + id UUID PRIMARY KEY, + user_id UUID NOT NULL REFERENCES "user" (id) ON DELETE CASCADE, + service_id UUID NOT NULL REFERENCES service (id) ON DELETE CASCADE +); + +CREATE TABLE part_cart ( + id UUID PRIMARY KEY, + user_id UUID NOT NULL REFERENCES "user" (id) ON DELETE CASCADE, + part_id UUID NOT NULL REFERENCES part (id) ON DELETE CASCADE +); + +END; \ No newline at end of file