aboutsummaryrefslogtreecommitdiff
path: root/sql/updates/auth
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-09-26 19:33:41 +0200
committerShauren <shauren.trinity@gmail.com>2024-09-26 19:33:41 +0200
commitb18ba61140cbb2c26eb5d006826eb61097f44726 (patch)
tree7ae61866be8dcb9b8612b0ebabc2cf961be8dfd1 /sql/updates/auth
parent15598723810f76a56b1ea5f3198b482dc0c19d65 (diff)
DB: Remove unsigned floats and recreate views with utf8mb4 in auth database
Diffstat (limited to 'sql/updates/auth')
-rw-r--r--sql/updates/auth/3.3.5/2024_09_26_00_auth.sql20
1 files changed, 20 insertions, 0 deletions
diff --git a/sql/updates/auth/3.3.5/2024_09_26_00_auth.sql b/sql/updates/auth/3.3.5/2024_09_26_00_auth.sql
new file mode 100644
index 00000000000..a5c75e51c38
--- /dev/null
+++ b/sql/updates/auth/3.3.5/2024_09_26_00_auth.sql
@@ -0,0 +1,20 @@
+
+ALTER TABLE `realmlist` MODIFY `population` float NOT NULL DEFAULT '0';
+
+SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci'; -- views do not have explicit charset/collation options but record whatever the connection settings were as their own (visible in mysqldump)
+
+DROP VIEW IF EXISTS `vw_log_history`;
+DROP VIEW IF EXISTS `vw_rbac`;
+
+CREATE SQL SECURITY INVOKER VIEW `vw_log_history` AS (SELECT FROM_UNIXTIME(MIN(`logs`.`time`)) AS `First Logged` ,FROM_UNIXTIME(MAX(`logs`.`time`)) AS `Last Logged` ,COUNT(*) AS `Occurrences` ,`realmlist`.`name` AS `Realm` ,`logs`.`type` ,`logs`.`level` ,`logs`.`string` FROM `logs` LEFT JOIN realmlist ON `logs`.`realm` = `realmlist`.`id` GROUP BY `logs`.`string`, `logs`.`type`, `logs`.`realm`);
+
+CREATE SQL SECURITY INVOKER VIEW `vw_rbac` AS
+(
+ SELECT `t1`.`linkedId` AS `Permission ID`,
+ `t1`.`id` AS `Permission Group`,
+ IFNULL(`t2`.`secId`, 'linked') AS `Security Level`,
+ `t3`.`name` AS `Permission`
+ FROM `rbac_linked_permissions` `t1`
+ LEFT JOIN `rbac_default_permissions` `t2` ON `t1`.`id` = `t2`.`permissionId`
+ LEFT JOIN `rbac_permissions` `t3` ON `t1`.`linkedId` = `t3`.`id`
+);