15 lines
658 B
SQL
15 lines
658 B
SQL
-- v0.803 ADM1-04: Global announcements
|
|
CREATE TABLE IF NOT EXISTS announcements (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
title VARCHAR(200) NOT NULL,
|
|
content TEXT NOT NULL,
|
|
type VARCHAR(20) NOT NULL DEFAULT 'info',
|
|
is_active BOOLEAN NOT NULL DEFAULT true,
|
|
starts_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
ends_at TIMESTAMPTZ,
|
|
created_by UUID REFERENCES users(id),
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_announcements_is_active ON announcements(is_active) WHERE is_active = true;
|
|
CREATE INDEX IF NOT EXISTS idx_announcements_starts_ends ON announcements(starts_at, ends_at);
|