/
daeman
/
HelpDeskTerminal
Обзор
Документация
Войти
/
daeman
/
HelpDeskTerminal
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
instr_create_DB.txt
72 строки
3 KB
unknown
Add instruction for create DB
02 июл 2025, 10:37
02 июл 2025, 10:37
4f92e54
Код
Авторство
О чём код?
-- Пользователи системы CREATE TABLE users ( user_id SERIAL PRIMARY KEY, username VARCHAR(50) NOT NULL UNIQUE, password_hash VARCHAR(255) NOT NULL, full_name VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL UNIQUE, department VARCHAR(50), position VARCHAR(50), is_active BOOLEAN DEFAULT TRUE, created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP ); -- Категории заявок CREATE TABLE ticket_categories ( category_id SERIAL PRIMARY KEY, name VARCHAR(50) NOT NULL UNIQUE, description TEXT ); -- Статусы заявок CREATE TABLE ticket_statuses ( status_id SERIAL PRIMARY KEY, name VARCHAR(30) NOT NULL UNIQUE, description TEXT ); -- Заявки CREATE TABLE tickets ( ticket_id SERIAL PRIMARY KEY, title VARCHAR(100) NOT NULL, description TEXT NOT NULL, creator_id INTEGER NOT NULL REFERENCES users(user_id), assignee_id INTEGER REFERENCES users(user_id), category_id INTEGER REFERENCES ticket_categories(category_id), status_id INTEGER NOT NULL REFERENCES ticket_statuses(status_id), priority INTEGER NOT NULL DEFAULT 3 CHECK (priority BETWEEN 1 AND 5), created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, closed_at TIMESTAMP WITH TIME ZONE, due_date TIMESTAMP WITH TIME ZONE ); -- Комментарии к заявкам CREATE TABLE ticket_comments ( comment_id SERIAL PRIMARY KEY, ticket_id INTEGER NOT NULL REFERENCES tickets(ticket_id), author_id INTEGER NOT NULL REFERENCES users(user_id), content TEXT NOT NULL, created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, is_internal BOOLEAN DEFAULT FALSE ); -- Прикрепленные файлы CREATE TABLE ticket_attachments ( attachment_id SERIAL PRIMARY KEY, ticket_id INTEGER NOT NULL REFERENCES tickets(ticket_id), uploader_id INTEGER NOT NULL REFERENCES users(user_id), file_name VARCHAR(255) NOT NULL, file_path VARCHAR(512) NOT NULL, file_size BIGINT NOT NULL, mime_type VARCHAR(100) NOT NULL, uploaded_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP ); -- Индексы для ускорения поиска CREATE INDEX idx_tickets_creator ON tickets(creator_id); CREATE INDEX idx_tickets_assignee ON tickets(assignee_id); CREATE INDEX idx_tickets_status ON tickets(status_id); CREATE INDEX idx_tickets_category ON tickets(category_id); CREATE INDEX idx_comments_ticket ON ticket_comments(ticket_id); CREATE INDEX idx_attachments_ticket ON ticket_attachments(ticket_id);