feat: add workflow studio and postgres support
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
-- Admin-authored announcements for normal users.
|
||||
|
||||
CREATE TABLE IF NOT EXISTS user_announcements (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
title TEXT NOT NULL,
|
||||
content TEXT NOT NULL,
|
||||
level TEXT NOT NULL DEFAULT 'info',
|
||||
status TEXT NOT NULL DEFAULT 'published',
|
||||
audience TEXT NOT NULL DEFAULT 'all',
|
||||
starts_at TEXT,
|
||||
ends_at TEXT,
|
||||
created_at TEXT NOT NULL DEFAULT (CURRENT_TIMESTAMP::TEXT),
|
||||
updated_at TEXT NOT NULL DEFAULT (CURRENT_TIMESTAMP::TEXT),
|
||||
published_at TEXT
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS user_announcements_status_created_at_idx
|
||||
ON user_announcements (status, created_at);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS user_announcements_active_window_idx
|
||||
ON user_announcements (starts_at, ends_at);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS user_announcement_reads (
|
||||
announcement_id BIGINT NOT NULL,
|
||||
user_id BIGINT NOT NULL,
|
||||
read_at TEXT NOT NULL DEFAULT (CURRENT_TIMESTAMP::TEXT),
|
||||
PRIMARY KEY (announcement_id, user_id),
|
||||
FOREIGN KEY (announcement_id) REFERENCES user_announcements(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS user_announcement_reads_user_id_idx
|
||||
ON user_announcement_reads (user_id);
|
||||
Reference in New Issue
Block a user