Files
juwan-backend/desc/sql/notification/notifications.sql
T

25 lines
935 B
SQL

CREATE TABLE notifications
(
id BIGINT PRIMARY KEY,
user_id BIGINT NOT NULL,
type VARCHAR(20) NOT NULL,
title VARCHAR(200) NOT NULL,
content TEXT NOT NULL,
read BOOLEAN NOT NULL DEFAULT FALSE,
link VARCHAR(500),
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
CONSTRAINT chk_notification_type CHECK (type IN ('order', 'community', 'system'))
);
CREATE INDEX idx_notifications_user_created ON notifications (user_id, created_at DESC);
CREATE INDEX idx_notifications_user_read_created ON notifications (user_id, read, created_at DESC);
CREATE INDEX idx_notifications_user_type_created ON notifications (user_id, type, created_at DESC);
CREATE TRIGGER trigger_notifications_updated_at
BEFORE UPDATE
ON notifications
FOR EACH ROW
EXECUTE FUNCTION update_updated_at_column();