Files
mkd/backend/create_vacancies_table.sql
2026-02-04 00:17:04 +05:00

34 lines
1.8 KiB
SQL
Executable File

-- Скрипт для создания таблицы vacancies и связанных объектов
-- Выполните этот скрипт, если таблица vacancies отсутствует в базе данных
-- Создание типа vacancy_status (если не существует)
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'vacancy_status') THEN
CREATE TYPE vacancy_status AS ENUM ('urgent', 'active', 'paused', 'closed');
END IF;
END$$;
-- Создание таблицы vacancies
CREATE TABLE IF NOT EXISTS vacancies (
id VARCHAR(50) PRIMARY KEY,
position TEXT NOT NULL, -- Название должности
department TEXT NOT NULL, -- Отдел
status vacancy_status NOT NULL DEFAULT 'active',
salary TEXT, -- Вилка зарплаты (например, "55 000 - 65 000 ₽")
description TEXT NOT NULL, -- Описание вакансии
requirements TEXT, -- Требования к кандидату
conditions TEXT, -- Условия работы
responsibilities TEXT, -- Обязанности
posted_date DATE NOT NULL DEFAULT CURRENT_DATE, -- Дата публикации
closing_date DATE, -- Дата закрытия вакансии
applicants_count INTEGER DEFAULT 0, -- Количество откликов
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
-- Создание индексов
CREATE INDEX IF NOT EXISTS idx_vacancies_status ON vacancies(status);
CREATE INDEX IF NOT EXISTS idx_vacancies_department ON vacancies(department);
CREATE INDEX IF NOT EXISTS idx_vacancies_posted_date ON vacancies(posted_date DESC);