15 lines
542 B
SQL
15 lines
542 B
SQL
CREATE TYPE banner_level AS ENUM ('info', 'important', 'critical');
|
|
|
|
CREATE TABLE IF NOT EXISTS announcement_banners (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
message TEXT NOT NULL,
|
|
level banner_level NOT NULL DEFAULT 'info',
|
|
starts_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
ends_at TIMESTAMPTZ,
|
|
created_by UUID REFERENCES users(id) ON DELETE SET NULL,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
CREATE INDEX idx_banners_active ON announcement_banners (starts_at, ends_at)
|
|
WHERE ends_at IS NULL OR ends_at > NOW();
|