42 lines
1.2 KiB
MySQL
42 lines
1.2 KiB
MySQL
|
CREATE TABLE workers
|
|||
|
(
|
|||
|
id SERIAL PRIMARY KEY,
|
|||
|
telegram_id INTEGER UNIQUE NOT NULL,
|
|||
|
name VARCHAR NOT NULL,
|
|||
|
email VARCHAR(50),
|
|||
|
phone_number VARCHAR(20) NOT NULL,
|
|||
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|||
|
updated_at TIMESTAMP
|
|||
|
);
|
|||
|
|
|||
|
CREATE TYPE status AS ENUM ('Выполнено','В процессе','Создано','Ожидание комплектующих');
|
|||
|
|
|||
|
CREATE TABLE orders
|
|||
|
(
|
|||
|
id SERIAL PRIMARY KEY,
|
|||
|
name VARCHAR,
|
|||
|
worker_id INTEGER REFERENCES workers (telegram_id),
|
|||
|
status_id status DEFAULT 'Создано',
|
|||
|
counterparty VARCHAR(50),
|
|||
|
customer VARCHAR NOT NULL,
|
|||
|
commencement_work DATE,
|
|||
|
end_work DATE,
|
|||
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|||
|
description VARCHAR DEFAULT NULL
|
|||
|
);
|
|||
|
|
|||
|
CREATE TABLE components
|
|||
|
(
|
|||
|
id SERIAL PRIMARY KEY,
|
|||
|
name VARCHAR NOT NULL,
|
|||
|
description VARCHAR NULL
|
|||
|
);
|
|||
|
|
|||
|
CREATE TABLE order_components
|
|||
|
(
|
|||
|
id SERIAL PRIMARY KEY,
|
|||
|
order_id INTEGER REFERENCES orders (id),
|
|||
|
component_id INTEGER REFERENCES components (id),
|
|||
|
quantity INTEGER DEFAULT 1
|
|||
|
);
|