mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-23 11:11:14 -05:00
Refactor: Implement database queue infrastructure
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
-- Create moderation queue in pgmq
|
||||
SELECT pgmq.create('moderation_queue');
|
||||
|
||||
-- Add queue management columns to content_submissions
|
||||
ALTER TABLE content_submissions
|
||||
ADD COLUMN IF NOT EXISTS priority INTEGER NOT NULL DEFAULT 3,
|
||||
ADD COLUMN IF NOT EXISTS assigned_to UUID REFERENCES auth.users(id),
|
||||
ADD COLUMN IF NOT EXISTS assigned_at TIMESTAMP WITH TIME ZONE,
|
||||
ADD COLUMN IF NOT EXISTS locked_until TIMESTAMP WITH TIME ZONE,
|
||||
ADD COLUMN IF NOT EXISTS submitted_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(),
|
||||
ADD COLUMN IF NOT EXISTS first_reviewed_at TIMESTAMP WITH TIME ZONE,
|
||||
ADD COLUMN IF NOT EXISTS resolved_at TIMESTAMP WITH TIME ZONE,
|
||||
ADD COLUMN IF NOT EXISTS review_count INTEGER DEFAULT 0;
|
||||
|
||||
-- Create indexes for queue operations
|
||||
CREATE INDEX IF NOT EXISTS idx_submissions_queue_status
|
||||
ON content_submissions(status, priority DESC, submitted_at ASC)
|
||||
WHERE status IN ('pending', 'partially_approved');
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_submissions_assigned
|
||||
ON content_submissions(assigned_to, locked_until)
|
||||
WHERE assigned_to IS NOT NULL;
|
||||
|
||||
-- Simple index on locked_until for expired lock cleanup
|
||||
CREATE INDEX IF NOT EXISTS idx_submissions_locked_until
|
||||
ON content_submissions(locked_until)
|
||||
WHERE locked_until IS NOT NULL;
|
||||
Reference in New Issue
Block a user