major-domo-database/migrations/add_custom_commands_tables.sql
2025-10-25 20:17:02 -05:00

46 lines
1.4 KiB
SQL

-- Migration: Add custom_commands tables
-- Date: 2025-10-02
-- Description: Creates tables for Discord bot custom command functionality
-- Create custom_command_creators table
CREATE TABLE IF NOT EXISTS custom_command_creators (
id SERIAL PRIMARY KEY,
discord_id BIGINT UNIQUE NOT NULL,
username VARCHAR(32) NOT NULL,
display_name VARCHAR(32),
created_at TIMESTAMP NOT NULL,
total_commands INTEGER DEFAULT 0,
active_commands INTEGER DEFAULT 0
);
CREATE INDEX IF NOT EXISTS idx_custom_command_creators_discord_id
ON custom_command_creators(discord_id);
-- Create custom_commands table
CREATE TABLE IF NOT EXISTS custom_commands (
id SERIAL PRIMARY KEY,
name VARCHAR(32) UNIQUE NOT NULL,
content TEXT NOT NULL,
creator_id INTEGER NOT NULL,
created_at TIMESTAMP NOT NULL,
updated_at TIMESTAMP,
last_used TIMESTAMP,
use_count INTEGER DEFAULT 0,
warning_sent BOOLEAN DEFAULT FALSE,
is_active BOOLEAN DEFAULT TRUE,
tags TEXT,
FOREIGN KEY (creator_id) REFERENCES custom_command_creators (id)
);
CREATE INDEX IF NOT EXISTS idx_custom_commands_name
ON custom_commands(name);
CREATE INDEX IF NOT EXISTS idx_custom_commands_creator_id
ON custom_commands(creator_id);
CREATE INDEX IF NOT EXISTS idx_custom_commands_is_active
ON custom_commands(is_active);
CREATE INDEX IF NOT EXISTS idx_custom_commands_last_used
ON custom_commands(last_used);