From b6f6b0c230bd313f226c31e8580aa19ce4305fd3 Mon Sep 17 00:00:00 2001 From: limtvon-cmd Date: Fri, 11 Sep 2026 05:09:41 +0300 Subject: [PATCH] Create ticketing system database tables Created multiple tables for ticketing system including tickets, ticket blacklist, ticket panels, boost config, and user boosts. --- .../migrations/00X_create_ticket_tables.sql | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 scripts/migrations/00X_create_ticket_tables.sql diff --git a/scripts/migrations/00X_create_ticket_tables.sql b/scripts/migrations/00X_create_ticket_tables.sql new file mode 100644 index 0000000000..e36aa48885 --- /dev/null +++ b/scripts/migrations/00X_create_ticket_tables.sql @@ -0,0 +1,60 @@ +-- Tickets Table +CREATE TABLE IF NOT EXISTS tickets ( + id SERIAL PRIMARY KEY, + guild_id VARCHAR(50) NOT NULL, + channel_id VARCHAR(50) NOT NULL UNIQUE, + ticket_number INT NOT NULL, + member_id VARCHAR(50) NOT NULL, + category VARCHAR(100) NOT NULL, + panel_type VARCHAR(50) DEFAULT 'general', + status VARCHAR(20) DEFAULT 'open', + claimed_by VARCHAR(50), + closed_by VARCHAR(50), + created_at TIMESTAMP DEFAULT NOW(), + closed_at TIMESTAMP, + UNIQUE(guild_id, ticket_number) +); + +-- Ticket Blacklist Table +CREATE TABLE IF NOT EXISTS ticket_blacklist ( + id SERIAL PRIMARY KEY, + guild_id VARCHAR(50) NOT NULL, + user_id VARCHAR(50) NOT NULL, + reason TEXT, + created_at TIMESTAMP DEFAULT NOW(), + UNIQUE(guild_id, user_id) +); + +-- Ticket Panels Table +CREATE TABLE IF NOT EXISTS ticket_panels ( + id SERIAL PRIMARY KEY, + guild_id VARCHAR(50) NOT NULL, + channel_id VARCHAR(50) NOT NULL, + panel_name VARCHAR(100) NOT NULL, + categories JSON, + created_at TIMESTAMP DEFAULT NOW(), + UNIQUE(guild_id, panel_name) +); + +-- Boost Config Table +CREATE TABLE IF NOT EXISTS boost_config ( + id SERIAL PRIMARY KEY, + guild_id VARCHAR(50) NOT NULL UNIQUE, + role1 VARCHAR(50), + role2 VARCHAR(50), + role3 VARCHAR(50), + role4 VARCHAR(50), + role5 VARCHAR(50), + log_channel VARCHAR(50), + created_at TIMESTAMP DEFAULT NOW() +); + +-- User Boosts Table +CREATE TABLE IF NOT EXISTS user_boosts ( + id SERIAL PRIMARY KEY, + guild_id VARCHAR(50) NOT NULL, + user_id VARCHAR(50) NOT NULL, + boost_count INT DEFAULT 1, + created_at TIMESTAMP DEFAULT NOW(), + UNIQUE(guild_id, user_id) +);