21 lines
758 B
SQL
21 lines
758 B
SQL
CREATE TYPE message_status AS ENUM ('pending', 'sent', 'canceled');
|
|
|
|
CREATE TABLE messages (
|
|
message_id uuid NOT NULL PRIMARY KEY,
|
|
created_at timestamptz NOT NULL,
|
|
scheduled_at timestamptz,
|
|
status message_status NOT NULL,
|
|
title text NOT NULL,
|
|
content text NOT NULL,
|
|
channel bigint NOT NULL,
|
|
thumbnail_url text
|
|
);
|
|
|
|
CREATE TABLE messages_users (
|
|
message_id uuid NOT NULL REFERENCES users (user_id) ON UPDATE cascade ON DELETE cascade,
|
|
user_id uuid NOT NULL REFERENCES users (user_id) ON UPDATE cascade ON DELETE cascade,
|
|
is_read boolean NOT NULL,
|
|
|
|
CONSTRAINT messages_users_pkey PRIMARY KEY (message_id, user_id)
|
|
);
|