2025-07-27 22:17:28 +03:00
|
|
|
|
CREATE TABLE workers
|
|
|
|
|
(
|
|
|
|
|
id SERIAL PRIMARY KEY,
|
2025-07-28 23:48:33 +03:00
|
|
|
|
telegram_id BIGINT UNIQUE NOT NULL,
|
|
|
|
|
name VARCHAR NOT NULL,
|
2025-07-27 22:17:28 +03:00
|
|
|
|
email VARCHAR(50),
|
2025-07-28 23:48:33 +03:00
|
|
|
|
phone_number VARCHAR(20) NOT NULL,
|
2025-07-27 22:17:28 +03:00
|
|
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
|
updated_at TIMESTAMP
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TYPE status AS ENUM ('Выполнено','В процессе','Создано','Ожидание комплектующих');
|
|
|
|
|
|
|
|
|
|
CREATE TABLE orders
|
|
|
|
|
(
|
|
|
|
|
id SERIAL PRIMARY KEY,
|
|
|
|
|
name VARCHAR,
|
2025-07-28 23:48:33 +03:00
|
|
|
|
worker_id BIGINT REFERENCES workers (telegram_id),
|
2025-07-27 22:17:28 +03:00
|
|
|
|
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
|
|
|
|
|
);
|