Update init.sql

This commit is contained in:
2025-07-29 13:00:19 +03:30
committed by GitHub
parent 7608dd47e0
commit 5c6a63c6ae
+32 -5
View File
@@ -27,15 +27,15 @@ CREATE TABLE IF NOT EXISTS messages (
receiver_id UUID NOT NULL , receiver_id UUID NOT NULL ,
content TEXT, content TEXT,
message_type VARCHAR(20) DEFAULT 'TEXT' CHECK (message_type IN ('TEXT','IMAGE','FILE','VIDEO','AUDIO','STICKER','GIF')), message_type VARCHAR(20) DEFAULT 'TEXT' CHECK (message_type IN ('TEXT','IMAGE','FILE','VIDEO','AUDIO','STICKER','GIF')),
file_url TEXT, --(Bouns)
send_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, send_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
status VARCHAR(20), -- SEND,DELIVERED,READ status VARCHAR(20), -- SEND,DELIVERED,READ
reply_to_id UUID REFERENCES messages(message_id) ON DELETE SET NULL, --(Bouns) reply_to_id UUID REFERENCES messages(message_id) ON DELETE SET NULL, --(Bouns)
is_edited BOOLEAN DEFAULT FALSE, --(Bonus) is_edited BOOLEAN DEFAULT FALSE, --(Bonus)
original_message_id UUID REFERENCES messages(message_id) edited_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
ON DELETE SET NULL, --(Bonus) original_message_id UUID REFERENCES messages(message_id) ON DELETE SET NULL, --(Bonus)
forwarded_by UUID REFERENCES users(internal_uuid) ON DELETE SET NULL, --(Bouns) forwarded_by UUID REFERENCES users(internal_uuid) ON DELETE SET NULL, --(Bouns)
forwarded_from UUID REFERENCES users(internal_uuid) ON DELETE SET NULL --(Bouns) forwarded_from UUID REFERENCES users(internal_uuid) ON DELETE SET NULL, --(Bouns)
is_deleted_globally BOOLEAN DEFAULT FALSE
); );
CREATE TABLE IF NOT EXISTS private_chat ( CREATE TABLE IF NOT EXISTS private_chat (
@@ -119,3 +119,30 @@ CREATE TABLE archived_chats (
); );
CREATE TABLE deleted_messages (
message_id UUID REFERENCES messages(message_id) ON DELETE CASCADE,
user_id UUID REFERENCES users(internal_uuid) ON DELETE CASCADE,
deleted_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (message_id, user_id)
);
CREATE TABLE IF NOT EXISTS message_reactions (
message_id UUID REFERENCES messages(message_id) ON DELETE CASCADE,
user_id UUID REFERENCES users(internal_uuid) ON DELETE CASCADE,
emoji TEXT NOT NULL,
reacted_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (message_id, user_id)
);
--Multi attachments
CREATE TABLE IF NOT EXISTS message_attachments (
attachment_id UUID PRIMARY KEY,
message_id UUID REFERENCES messages(message_id) ON DELETE CASCADE,
file_url TEXT NOT NULL,
file_type VARCHAR(20) CHECK (file_type IN ('IMAGE','VIDEO','AUDIO','FILE','GIF','STICKER')),
uploaded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);