feat: poll groups/servers, timed polls, features sort+filter by group
This commit is contained in:
@@ -184,10 +184,15 @@ async function initSchema(connection) {
|
||||
title VARCHAR(200) NOT NULL,
|
||||
description TEXT,
|
||||
options JSON NOT NULL,
|
||||
group_name VARCHAR(100) NOT NULL DEFAULT '',
|
||||
server_name VARCHAR(100) NOT NULL DEFAULT '',
|
||||
start_time DATETIME,
|
||||
end_time DATETIME,
|
||||
active TINYINT(1) NOT NULL DEFAULT 1,
|
||||
created_by INT,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
INDEX idx_active (active)
|
||||
INDEX idx_active (active),
|
||||
INDEX idx_group_server (group_name, server_name)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4`);
|
||||
|
||||
await createIfNotExists('poll_votes', `CREATE TABLE poll_votes (
|
||||
@@ -204,6 +209,8 @@ async function initSchema(connection) {
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
title VARCHAR(200) NOT NULL,
|
||||
description TEXT,
|
||||
group_name VARCHAR(100) NOT NULL DEFAULT '',
|
||||
server_name VARCHAR(100) NOT NULL DEFAULT '',
|
||||
status ENUM('pending','planned','done') NOT NULL DEFAULT 'pending',
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4`);
|
||||
@@ -217,6 +224,13 @@ async function initSchema(connection) {
|
||||
INDEX idx_item (item_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4`);
|
||||
|
||||
await createIfNotExists('server_groups', `CREATE TABLE server_groups (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
group_name VARCHAR(100) NOT NULL,
|
||||
server_name VARCHAR(100) NOT NULL,
|
||||
UNIQUE KEY uk_group_server (group_name, server_name)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4`);
|
||||
|
||||
await createIfNotExists('audit_logs', `CREATE TABLE audit_logs (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
user_id INT,
|
||||
|
||||
Reference in New Issue
Block a user