Initial commit
This commit is contained in:
commit
5a5f817df7
55 files changed
+3919
No files matched your search
@@ -0,0 +1,149 @@
|
||||
CREATE TABLE IF NOT EXISTS guilds (
|
||||
uuid UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
guild_id BIGINT NOT NULL UNIQUE,
|
||||
guild_name TEXT NOT NULL,
|
||||
guild_icon_url TEXT
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS channels (
|
||||
uuid UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
guild_id BIGINT NOT NULL,
|
||||
channel_id BIGINT NOT NULL UNIQUE,
|
||||
channel_name TEXT NOT NULL,
|
||||
|
||||
FOREIGN KEY (guild_id)
|
||||
REFERENCES guilds(guild_id)
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS discord_users (
|
||||
uuid UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
discord_id BIGINT NOT NULL UNIQUE,
|
||||
discord_username TEXT NOT NULL
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS discord_roles (
|
||||
uuid UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
guild_id BIGINT NOT NULL,
|
||||
discord_id BIGINT NOT NULL,
|
||||
discord_role_name TEXT NOT NULL,
|
||||
|
||||
UNIQUE (guild_id, discord_id),
|
||||
|
||||
FOREIGN KEY (guild_id)
|
||||
REFERENCES guilds(guild_id)
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS messages (
|
||||
uuid UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
|
||||
guild_id BIGINT NOT NULL,
|
||||
channel_id BIGINT NOT NULL,
|
||||
message_id BIGINT NOT NULL UNIQUE,
|
||||
|
||||
author_id BIGINT NOT NULL,
|
||||
|
||||
author_username TEXT NOT NULL,
|
||||
|
||||
content TEXT,
|
||||
|
||||
timestamp TIMESTAMPTZ NOT NULL,
|
||||
|
||||
FOREIGN KEY (guild_id)
|
||||
REFERENCES guilds(guild_id),
|
||||
|
||||
FOREIGN KEY (channel_id)
|
||||
REFERENCES channels(channel_id),
|
||||
|
||||
FOREIGN KEY (author_id)
|
||||
REFERENCES discord_users(discord_id)
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS attachments (
|
||||
uuid UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
|
||||
attachment_id BIGINT NOT NULL UNIQUE,
|
||||
message_id BIGINT NOT NULL,
|
||||
|
||||
filename TEXT NOT NULL,
|
||||
description TEXT,
|
||||
content_type TEXT,
|
||||
size BIGINT NOT NULL,
|
||||
|
||||
width INTEGER,
|
||||
height INTEGER,
|
||||
|
||||
data BYTEA NOT NULL,
|
||||
|
||||
FOREIGN KEY (message_id)
|
||||
REFERENCES messages(message_id)
|
||||
ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS embeds (
|
||||
uuid UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
|
||||
message_id BIGINT NOT NULL,
|
||||
embed_index INTEGER NOT NULL,
|
||||
|
||||
embed_type TEXT,
|
||||
title TEXT,
|
||||
description TEXT,
|
||||
url TEXT,
|
||||
timestamp TIMESTAMPTZ,
|
||||
color INTEGER,
|
||||
|
||||
footer_text TEXT,
|
||||
footer_icon_url TEXT,
|
||||
|
||||
image_url TEXT,
|
||||
image_proxy_url TEXT,
|
||||
image_width INTEGER,
|
||||
image_height INTEGER,
|
||||
|
||||
thumbnail_url TEXT,
|
||||
thumbnail_proxy_url TEXT,
|
||||
thumbnail_width INTEGER,
|
||||
thumbnail_height INTEGER,
|
||||
|
||||
video_url TEXT,
|
||||
video_proxy_url TEXT,
|
||||
video_width INTEGER,
|
||||
video_height INTEGER,
|
||||
|
||||
provider_name TEXT,
|
||||
provider_url TEXT,
|
||||
|
||||
author_name TEXT,
|
||||
author_url TEXT,
|
||||
author_icon_url TEXT,
|
||||
author_proxy_icon_url TEXT,
|
||||
|
||||
UNIQUE (message_id, embed_index),
|
||||
|
||||
FOREIGN KEY (message_id)
|
||||
REFERENCES messages(message_id)
|
||||
ON DELETE CASCADE
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS embed_fields (
|
||||
uuid UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
|
||||
embed_uuid UUID NOT NULL,
|
||||
field_index INTEGER NOT NULL,
|
||||
|
||||
name TEXT NOT NULL,
|
||||
value TEXT NOT NULL,
|
||||
inline BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
|
||||
UNIQUE (embed_uuid, field_index),
|
||||
|
||||
FOREIGN KEY (embed_uuid)
|
||||
REFERENCES embeds(uuid)
|
||||
ON DELETE CASCADE
|
||||
);
|
||||
Reference in new issue
Block a user