-- Скрипт для создания таблицы 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);