Added initial script for starting database
This commit is contained in:
@@ -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;
|
||||||
Reference in New Issue
Block a user