22 lines
1.4 KiB
SQL
Executable File
22 lines
1.4 KiB
SQL
Executable File
-- PR График публикации (календарь тем для постов)
|
||
CREATE TABLE IF NOT EXISTS pr_post_topics (
|
||
id BIGSERIAL PRIMARY KEY,
|
||
title TEXT NOT NULL,
|
||
description TEXT,
|
||
scheduled_date DATE, -- дата планируемой публикации (может быть NULL для старых записей)
|
||
month VARCHAR(7) NOT NULL, -- формат YYYY-MM для фильтрации
|
||
status VARCHAR(20) NOT NULL DEFAULT 'draft' CHECK (status IN ('draft', 'pending_approval', 'approved', 'rejected')),
|
||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||
created_by TEXT,
|
||
approved_at TIMESTAMPTZ,
|
||
approved_by TEXT,
|
||
rejection_reason TEXT,
|
||
created_at_month VARCHAR(7) GENERATED ALWAYS AS (TO_CHAR(created_at, 'YYYY-MM')) STORED
|
||
);
|
||
|
||
CREATE INDEX IF NOT EXISTS idx_pr_post_topics_month ON pr_post_topics(month DESC);
|
||
CREATE INDEX IF NOT EXISTS idx_pr_post_topics_scheduled_date ON pr_post_topics(scheduled_date);
|
||
CREATE INDEX IF NOT EXISTS idx_pr_post_topics_status ON pr_post_topics(status);
|
||
|
||
COMMENT ON TABLE pr_post_topics IS 'График публикации (календарь тем) - план публикаций на месяц. По этим темам создаются посты с контентом.';
|