/
p01inka05
/
framework_template_1
Обзор
Документация
Войти
/
p01inka05
/
framework_template_1
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
init.sql
52 строки
2 KB
Polina
update
12 окт 2025, 09:57
12 окт 2025, 09:57
823e9aa
Код
Авторство
О чём код?
-- Создание таблиц CREATE TABLE users ( id SERIAL PRIMARY KEY, email VARCHAR(255) UNIQUE NOT NULL, password_hash VARCHAR(255) NOT NULL, role VARCHAR(50) NOT NULL CHECK (role IN ('engineer', 'manager', 'observer')), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE projects ( id SERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL, description TEXT, stages JSONB DEFAULT '[]'::JSONB, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE defects ( id SERIAL PRIMARY KEY, project_id INTEGER REFERENCES projects(id) ON DELETE CASCADE, title VARCHAR(255) NOT NULL, description TEXT, priority VARCHAR(50) NOT NULL CHECK (priority IN ('low', 'medium', 'high')), assignee_id INTEGER REFERENCES users(id), start_date DATE, end_date DATE, status VARCHAR(50) NOT NULL DEFAULT 'new' CHECK (status IN ('new', 'in_progress', 'under_review', 'closed', 'cancelled')), attachments JSONB DEFAULT '[]'::JSONB, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE comments ( id SERIAL PRIMARY KEY, defect_id INTEGER REFERENCES defects(id) ON DELETE CASCADE, user_id INTEGER REFERENCES users(id), text TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE history ( id SERIAL PRIMARY KEY, defect_id INTEGER REFERENCES defects(id) ON DELETE CASCADE, user_id INTEGER REFERENCES users(id), action TEXT NOT NULL, timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- Индексы для производительности CREATE INDEX idx_defects_project ON defects(project_id); CREATE INDEX idx_defects_status ON defects(status); CREATE INDEX idx_defects_priority ON defects(priority);