generated from FoxGenesis/WatameBot-Plugin-Template
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMariaDB.patch
11 lines (11 loc) · 2.61 KB
/
MariaDB.patch
1
2
3
4
5
6
7
8
9
10
11
diff --git a/assets/META-INF/tableSetup.sql b/assets/META-INF/tableSetup.sql
index fc80052..c196748 100644
--- a/assets/META-INF/tableSetup.sql
+++ b/assets/META-INF/tableSetup.sql
@@ -1,4 +1,4 @@
-CREATE TABLE IF NOT EXISTS `Warnings` (`case_id` int unsigned NOT NULL AUTO_INCREMENT,`guild_id` bigint unsigned NOT NULL,`member_id` bigint unsigned NOT NULL,`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,`moderator` varchar(37) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,`reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,`active` tinyint(1) NOT NULL,PRIMARY KEY (`case_id`),UNIQUE KEY `case_id` (`case_id`),KEY `member` (`member_id`),KEY `guild_id` (`guild_id`),KEY `active` (`active`)) ENGINE=InnoDB AUTO_INCREMENT=60 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+CREATE TABLE IF NOT EXISTS `Warnings` (`case_id` int unsigned NOT NULL AUTO_INCREMENT,`guild_id` bigint unsigned NOT NULL,`member_id` bigint unsigned NOT NULL,`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,`moderator` varchar(37) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,`reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,`active` tinyint(1) NOT NULL,PRIMARY KEY (`case_id`),UNIQUE KEY `case_id` (`case_id`),KEY `member` (`member_id`),KEY `guild_id` (`guild_id`),KEY `active` (`active`)) ENGINE=InnoDB AUTO_INCREMENT=60 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
CREATE FUNCTION IF NOT EXISTS `WarningLevel`(`guild_id` BIGINT UNSIGNED, `member_id` BIGINT UNSIGNED) RETURNS int unsigned READS SQL DATA SQL SECURITY INVOKER BEGIN RETURN (SELECT COUNT(`case_id`) FROM `Warnings` WHERE `Warnings`.`guild_id` = guild_id AND `Warnings`.`member_id` = member_id AND `Warnings`.`active` = TRUE); END;
CREATE PROCEDURE IF NOT EXISTS `DecreaseAndGetWarningLevel`(IN `guild_id` BIGINT UNSIGNED, IN `member_id` BIGINT UNSIGNED, OUT `new_level` INT UNSIGNED) NOT DETERMINISTIC MODIFIES SQL DATA SQL SECURITY DEFINER BEGIN UPDATE `Warnings` SET `Warnings`.`active` = FALSE WHERE `Warnings`.`guild_id` = guild_id AND `Warnings`.`member_id` = member_id AND `Warnings`.`active` = TRUE ORDER BY `Warnings`.`date` ASC LIMIT 1; set new_level = WarningLevel(guild_id,member_id);END;
CREATE PROCEDURE IF NOT EXISTS `AddWarning`(IN `guild_id` BIGINT UNSIGNED, IN `member_id` BIGINT UNSIGNED, IN `moderator` VARCHAR(40), IN `reason` VARCHAR(220), IN `active` BOOLEAN, OUT `case_id` INT UNSIGNED) BEGIN INSERT INTO `Warnings` (`guild_id`, `member_id`, `moderator`, `reason`, `active`) VALUES (guild_id, member_id, moderator, reason, active); set case_id = (SELECT LAST_INSERT_ID()); END;
\ No newline at end of file