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