-- Отметки отправленных минут: защита от повторной рассылки после перезапуска бота. CREATE TABLE IF NOT EXISTS bot.schedule_runs ( schedule_id bigint NOT NULL, run_at timestamptz NOT NULL, PRIMARY KEY (schedule_id, run_at) ); CREATE INDEX IF NOT EXISTS idx_schedule_runs_run_at ON bot.schedule_runs (run_at); COMMENT ON TABLE bot.schedule_runs IS 'Какие минуты рассылок уже отработаны (атомарная защита от дублей)';