taskcafe/migrations/0066_redesign-notification-table.up.sql

21 lines
681 B
SQL

DROP TABLE notification_object CASCADE;
DROP TABLE notification CASCADE;
CREATE TABLE notification (
notification_id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
caused_by uuid NOT NULL,
action_type text NOT NULL,
data jsonb,
created_on timestamptz NOT NULL
);
CREATE TABLE notification_notified (
notified_id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
notification_id uuid REFERENCES notification(notification_id) ON DELETE CASCADE,
user_id uuid NOT NULL REFERENCES user_account(user_id) ON DELETE CASCADE,
read boolean NOT NULL DEFAULT false,
read_at timestamptz
);
CREATE INDEX idx_notification_pagination ON notification (created_on, notification_id);