staging #447
							
								
								
									
										2
									
								
								bot/src/bot_data/scripts/1.0.0/1_ApiKey_down.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								bot/src/bot_data/scripts/1.0.0/1_ApiKey_down.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| DROP TABLE `ApiKeys`; | ||||
|  | ||||
							
								
								
									
										15
									
								
								bot/src/bot_data/scripts/1.0.0/1_ApiKey_up.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								bot/src/bot_data/scripts/1.0.0/1_ApiKey_up.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| CREATE TABLE IF NOT EXISTS `ApiKeys` | ||||
| ( | ||||
|     `Id`             BIGINT       NOT NULL AUTO_INCREMENT, | ||||
|     `Identifier`     VARCHAR(255) NOT NULL, | ||||
|     `Key`            VARCHAR(255) NOT NULL, | ||||
|     `CreatorId`      BIGINT       NULL, | ||||
|     `CreatedAt`      DATETIME(6), | ||||
|     `LastModifiedAt` DATETIME(6), | ||||
|     PRIMARY KEY (`Id`), | ||||
|     FOREIGN KEY (`CreatorId`) REFERENCES `Users` (`UserId`), | ||||
|     CONSTRAINT UC_Identifier_Key UNIQUE (`Identifier`, `Key`), | ||||
|     CONSTRAINT UC_Key UNIQUE (`Key`) | ||||
| ); | ||||
|  | ||||
|  | ||||
| @@ -0,0 +1,6 @@ | ||||
| DROP TABLE `GameServers`; | ||||
|  | ||||
| DROP TABLE `UserJoinedGameServer`; | ||||
|  | ||||
| DROP TABLE `UserGameIdents`; | ||||
|  | ||||
							
								
								
									
										46
									
								
								bot/src/bot_data/scripts/1.0.0/2_UserJoinedGameServer_up.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								bot/src/bot_data/scripts/1.0.0/2_UserJoinedGameServer_up.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,46 @@ | ||||
| CREATE TABLE IF NOT EXISTS `GameServers` | ||||
| ( | ||||
|     `Id`             BIGINT       NOT NULL AUTO_INCREMENT, | ||||
|     `Name`           VARCHAR(255) NOT NULL, | ||||
|     `ServerId`       BIGINT       NOT NULL, | ||||
|     `ApiKeyId`       BIGINT       NOT NULL, | ||||
|     `CreatedAt`      DATETIME(6), | ||||
|     `LastModifiedAt` DATETIME(6), | ||||
|     FOREIGN KEY (`ServerId`) REFERENCES Servers (`ServerId`), | ||||
|     FOREIGN KEY (`ApiKeyId`) REFERENCES ApiKeys (`Id`), | ||||
|     PRIMARY KEY (`Id`) | ||||
| ); | ||||
|  | ||||
|  | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `UserJoinedGameServer` | ||||
| ( | ||||
|     `Id`             BIGINT      NOT NULL AUTO_INCREMENT, | ||||
|     `UserId`         BIGINT      NOT NULL, | ||||
|     `GameServerId`   BIGINT      NOT NULL, | ||||
|     `JoinedOn`       DATETIME(6) NOT NULL, | ||||
|     `LeavedOn`       DATETIME(6), | ||||
|     `CreatedAt`      DATETIME(6), | ||||
|     `LastModifiedAt` DATETIME(6), | ||||
|     FOREIGN KEY (`UserId`) REFERENCES Users (`UserId`), | ||||
|     FOREIGN KEY (`GameServerId`) REFERENCES GameServers (`Id`), | ||||
|     PRIMARY KEY (`Id`) | ||||
| ); | ||||
|  | ||||
|  | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `UserGameIdents` | ||||
| ( | ||||
|     `Id`             BIGINT       NOT NULL AUTO_INCREMENT, | ||||
|     `UserId`         BIGINT       NOT NULL, | ||||
|     `GameServerId`   BIGINT       NOT NULL, | ||||
|     `Ident`          VARCHAR(255) NOT NULL, | ||||
|     `CreatedAt`      DATETIME(6), | ||||
|     `LastModifiedAt` DATETIME(6), | ||||
|     FOREIGN KEY (`UserId`) REFERENCES Users (`UserId`), | ||||
|     FOREIGN KEY (`GameServerId`) REFERENCES GameServers (`Id`), | ||||
|     CONSTRAINT UC_UserGameIdent UNIQUE (`GameServerId`, `Ident`), | ||||
|     PRIMARY KEY (`Id`) | ||||
| ); | ||||
|  | ||||
|  | ||||
							
								
								
									
										14
									
								
								bot/src/bot_data/scripts/1.0.0/3_RemoveStats_down.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								bot/src/bot_data/scripts/1.0.0/3_RemoveStats_down.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| CREATE TABLE IF NOT EXISTS `Statistics` | ||||
| ( | ||||
|     `Id`             BIGINT       NOT NULL AUTO_INCREMENT, | ||||
|     `Name`           VARCHAR(255) NOT NULL, | ||||
|     `Description`    VARCHAR(255) NOT NULL, | ||||
|     `Code`           LONGTEXT     NOT NULL, | ||||
|     `ServerId`       BIGINT, | ||||
|     `CreatedAt`      DATETIME(6), | ||||
|     `LastModifiedAt` DATETIME(6), | ||||
|     PRIMARY KEY (`Id`), | ||||
|     FOREIGN KEY (`ServerId`) REFERENCES `Servers` (`ServerId`) | ||||
| ); | ||||
|  | ||||
|  | ||||
							
								
								
									
										3
									
								
								bot/src/bot_data/scripts/1.0.0/3_RemoveStats_up.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								bot/src/bot_data/scripts/1.0.0/3_RemoveStats_up.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| DROP TABLE IF EXISTS `Statistics`; | ||||
|  | ||||
|  | ||||
							
								
								
									
										2
									
								
								bot/src/bot_data/scripts/1.0.0/4_UserWarning_down.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								bot/src/bot_data/scripts/1.0.0/4_UserWarning_down.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| DROP TABLE `UserWarnings`; | ||||
|  | ||||
							
								
								
									
										14
									
								
								bot/src/bot_data/scripts/1.0.0/4_UserWarning_up.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								bot/src/bot_data/scripts/1.0.0/4_UserWarning_up.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| CREATE TABLE IF NOT EXISTS `UserWarnings` | ||||
| ( | ||||
|     `Id`             BIGINT       NOT NULL AUTO_INCREMENT, | ||||
|     `Description`    VARCHAR(255) NOT NULL, | ||||
|     `UserId`         BIGINT       NOT NULL, | ||||
|     `Author`         BIGINT       NULL, | ||||
|     `CreatedAt`      DATETIME(6), | ||||
|     `LastModifiedAt` DATETIME(6), | ||||
|     PRIMARY KEY (`Id`), | ||||
|     FOREIGN KEY (`UserId`) REFERENCES `Users` (`UserId`), | ||||
|     FOREIGN KEY (`Author`) REFERENCES `Users` (`UserId`) | ||||
| ); | ||||
|  | ||||
|  | ||||
							
								
								
									
										34
									
								
								bot/src/bot_data/scripts/1.0.0/5_DBHistory_down.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								bot/src/bot_data/scripts/1.0.0/5_DBHistory_down.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| DROP TABLE `ApiKeysHistory`; | ||||
|  | ||||
| DROP TABLE `AuthUsersHistory`; | ||||
|  | ||||
| DROP TABLE `AuthUserUsersRelationsHistory`; | ||||
|  | ||||
| DROP TABLE `AutoRoleRulesHistory`; | ||||
|  | ||||
| DROP TABLE `AutoRolesHistory`; | ||||
|  | ||||
| DROP TABLE `ClientsHistory`; | ||||
|  | ||||
| DROP TABLE `GameServersHistory`; | ||||
|  | ||||
| DROP TABLE `KnownUsersHistory`; | ||||
|  | ||||
| DROP TABLE `LevelsHistory`; | ||||
|  | ||||
| DROP TABLE `ServersHistory`; | ||||
|  | ||||
| DROP TABLE `UserGameIdentsHistory`; | ||||
|  | ||||
| DROP TABLE `UserJoinedGameServerHistory`; | ||||
|  | ||||
| DROP TABLE `UserJoinedServersHistory`; | ||||
|  | ||||
| DROP TABLE `UserJoinedVoiceChannelHistory`; | ||||
|  | ||||
| DROP TABLE `UserMessageCountPerHourHistory`; | ||||
|  | ||||
| DROP TABLE `UsersHistory`; | ||||
|  | ||||
| DROP TABLE `UserWarningsHistory`; | ||||
|  | ||||
							
								
								
									
										714
									
								
								bot/src/bot_data/scripts/1.0.0/5_DBHistory_up.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										714
									
								
								bot/src/bot_data/scripts/1.0.0/5_DBHistory_up.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,714 @@ | ||||
| ALTER TABLE `ApiKeys` | ||||
|     CHANGE `CreatedAt` `CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| ALTER TABLE `ApiKeys` | ||||
|     CHANGE `LastModifiedAt` `LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `ApiKeysHistory` | ||||
| ( | ||||
|     `Id`         BIGINT(20)   NOT NULL, | ||||
|     `Identifier` VARCHAR(255) NOT NULL, | ||||
|     `Key`        VARCHAR(255) NOT NULL, | ||||
|     `CreatorId`  BIGINT(20) DEFAULT NULL, | ||||
|     `Deleted`    BOOL       DEFAULT FALSE, | ||||
|     `DateFrom`   DATETIME(6)  NOT NULL, | ||||
|     `DateTo`     DATETIME(6)  NOT NULL | ||||
| );; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_ApiKeysUpdate`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_ApiKeysUpdate` | ||||
|     AFTER UPDATE | ||||
|     ON `ApiKeys` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `ApiKeysHistory` (`Id`, `Identifier`, `Key`, `CreatorId`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.Id, OLD.Identifier, OLD.Key, OLD.CreatorId, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_ApiKeysDelete`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_ApiKeysDelete` | ||||
|     AFTER DELETE | ||||
|     ON `ApiKeys` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `ApiKeysHistory` (`Id`, `Identifier`, `Key`, `CreatorId`, `Deleted`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.Id, OLD.Identifier, OLD.Key, OLD.CreatorId, TRUE, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| ALTER TABLE `AuthUsers` | ||||
|     CHANGE `CreatedAt` `CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| ALTER TABLE `AuthUsers` | ||||
|     CHANGE `LastModifiedAt` `LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `AuthUsersHistory` | ||||
| ( | ||||
|     `Id`                     BIGINT(20)  NOT NULL, | ||||
|     `FirstName`              VARCHAR(255)         DEFAULT NULL, | ||||
|     `LastName`               VARCHAR(255)         DEFAULT NULL, | ||||
|     `EMail`                  VARCHAR(255)         DEFAULT NULL, | ||||
|     `Password`               VARCHAR(255)         DEFAULT NULL, | ||||
|     `PasswordSalt`           VARCHAR(255)         DEFAULT NULL, | ||||
|     `RefreshToken`           VARCHAR(255)         DEFAULT NULL, | ||||
|     `ConfirmationId`         VARCHAR(255)         DEFAULT NULL, | ||||
|     `ForgotPasswordId`       VARCHAR(255)         DEFAULT NULL, | ||||
|     `OAuthId`                VARCHAR(255)         DEFAULT NULL, | ||||
|     `RefreshTokenExpiryTime` DATETIME(6) NOT NULL, | ||||
|     `AuthRole`               BIGINT(11)  NOT NULL DEFAULT 0, | ||||
|     `Deleted`                BOOL                 DEFAULT FALSE, | ||||
|     `DateFrom`               DATETIME(6) NOT NULL, | ||||
|     `DateTo`                 DATETIME(6) NOT NULL | ||||
| );; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_AuthUsersUpdate`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_AuthUsersUpdate` | ||||
|     AFTER UPDATE | ||||
|     ON `AuthUsers` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `AuthUsersHistory` (`Id`, `FirstName`, `LastName`, `EMail`, `Password`, `PasswordSalt`, | ||||
|                                     `RefreshToken`, `ConfirmationId`, `ForgotPasswordId`, `OAuthId`, | ||||
|                                     `RefreshTokenExpiryTime`, `AuthRole`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.Id, OLD.FirstName, OLD.LastName, OLD.EMail, OLD.Password, OLD.PasswordSalt, OLD.RefreshToken, | ||||
|             OLD.ConfirmationId, OLD.ForgotPasswordId, OLD.OAuthId, OLD.RefreshTokenExpiryTime, OLD.AuthRole, | ||||
|             OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_AuthUsersDelete`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_AuthUsersDelete` | ||||
|     AFTER DELETE | ||||
|     ON `AuthUsers` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `AuthUsersHistory` (`Id`, `FirstName`, `LastName`, `EMail`, `Password`, `PasswordSalt`, `RefreshToken`, | ||||
|                                     `ConfirmationId`, `ForgotPasswordId`, `OAuthId`, `RefreshTokenExpiryTime`, | ||||
|                                     `AuthRole`, `Deleted`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.Id, OLD.FirstName, OLD.LastName, OLD.EMail, OLD.Password, OLD.PasswordSalt, OLD.RefreshToken, | ||||
|             OLD.ConfirmationId, OLD.ForgotPasswordId, OLD.OAuthId, OLD.RefreshTokenExpiryTime, OLD.AuthRole, TRUE, | ||||
|             OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| ALTER TABLE `AuthUserUsersRelations` | ||||
|     CHANGE `CreatedAt` `CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| ALTER TABLE `AuthUserUsersRelations` | ||||
|     CHANGE `LastModifiedAt` `LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `AuthUserUsersRelationsHistory` | ||||
| ( | ||||
|     `Id`         BIGINT(20)  NOT NULL, | ||||
|     `AuthUserId` BIGINT(20) DEFAULT NULL, | ||||
|     `UserId`     BIGINT(20) DEFAULT NULL, | ||||
|     `Deleted`    BOOL       DEFAULT FALSE, | ||||
|     `DateFrom`   DATETIME(6) NOT NULL, | ||||
|     `DateTo`     DATETIME(6) NOT NULL | ||||
| );; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_AuthUserUsersRelationsUpdate`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_AuthUserUsersRelationsUpdate` | ||||
|     AFTER UPDATE | ||||
|     ON `AuthUserUsersRelations` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `AuthUserUsersRelationsHistory` (`Id`, `AuthUserId`, `UserId`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.Id, OLD.AuthUserId, OLD.UserId, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_AuthUserUsersRelationsDelete`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_AuthUserUsersRelationsDelete` | ||||
|     AFTER DELETE | ||||
|     ON `AuthUserUsersRelations` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `AuthUserUsersRelationsHistory` (`Id`, `AuthUserId`, `UserId`, `Deleted`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.Id, OLD.AuthUserId, OLD.UserId, TRUE, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| ALTER TABLE `AutoRoleRules` | ||||
|     CHANGE `CreatedAt` `CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| ALTER TABLE `AutoRoleRules` | ||||
|     CHANGE `LastModifiedAt` `LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `AutoRoleRulesHistory` | ||||
| ( | ||||
|     `Id`               BIGINT(20)  NOT NULL, | ||||
|     `AutoRoleId`       BIGINT(20)  DEFAULT NULL, | ||||
|     `DiscordEmojiName` VARCHAR(64) DEFAULT NULL, | ||||
|     `DiscordRoleId`    BIGINT(20)  NOT NULL, | ||||
|     `Deleted`          BOOL        DEFAULT FALSE, | ||||
|     `DateFrom`         DATETIME(6) NOT NULL, | ||||
|     `DateTo`           DATETIME(6) NOT NULL | ||||
| );; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_AutoRoleRulesUpdate`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_AutoRoleRulesUpdate` | ||||
|     AFTER UPDATE | ||||
|     ON `AutoRoleRules` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `AutoRoleRulesHistory` (`Id`, `AutoRoleId`, `DiscordEmojiName`, `DiscordRoleId`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.AutoRoleRuleId, OLD.AutoRoleId, OLD.DiscordEmojiName, OLD.DiscordRoleId, OLD.LastModifiedAt, | ||||
|             CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_AutoRoleRulesDelete`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_AutoRoleRulesDelete` | ||||
|     AFTER DELETE | ||||
|     ON `AutoRoleRules` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `AutoRoleRulesHistory` (`Id`, `AutoRoleId`, `DiscordEmojiName`, `DiscordRoleId`, `Deleted`, `DateFrom`, | ||||
|                                         `DateTo`) | ||||
|     VALUES (OLD.AutoRoleRuleId, OLD.AutoRoleId, OLD.DiscordEmojiName, OLD.DiscordRoleId, TRUE, OLD.LastModifiedAt, | ||||
|             CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| ALTER TABLE `AutoRoles` | ||||
|     CHANGE `CreatedAt` `CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| ALTER TABLE `AutoRoles` | ||||
|     CHANGE `LastModifiedAt` `LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `AutoRolesHistory` | ||||
| ( | ||||
|     `Id`               BIGINT(20)  NOT NULL, | ||||
|     `ServerId`         BIGINT(20) DEFAULT NULL, | ||||
|     `DiscordChannelId` BIGINT(20)  NOT NULL, | ||||
|     `DiscordMessageId` BIGINT(20)  NOT NULL, | ||||
|     `Deleted`          BOOL       DEFAULT FALSE, | ||||
|     `DateFrom`         DATETIME(6) NOT NULL, | ||||
|     `DateTo`           DATETIME(6) NOT NULL | ||||
| );; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_AutoRolesUpdate`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_AutoRolesUpdate` | ||||
|     AFTER UPDATE | ||||
|     ON `AutoRoles` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `AutoRolesHistory` (`Id`, `ServerId`, `DiscordChannelId`, `DiscordMessageId`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.AutoRoleId, OLD.ServerId, OLD.DiscordChannelId, OLD.DiscordMessageId, OLD.LastModifiedAt, | ||||
|             CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_AutoRolesDelete`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_AutoRolesDelete` | ||||
|     AFTER DELETE | ||||
|     ON `AutoRoles` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `AutoRolesHistory` (`Id`, `ServerId`, `DiscordChannelId`, `DiscordMessageId`, `Deleted`, `DateFrom`, | ||||
|                                     `DateTo`) | ||||
|     VALUES (OLD.AutoRoleId, OLD.ServerId, OLD.DiscordChannelId, OLD.DiscordMessageId, TRUE, OLD.LastModifiedAt, | ||||
|             CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| ALTER TABLE `Clients` | ||||
|     CHANGE `CreatedAt` `CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| ALTER TABLE `Clients` | ||||
|     CHANGE `LastModifiedAt` `LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `ClientsHistory` | ||||
| ( | ||||
|     `Id`                    BIGINT(20)  NOT NULL, | ||||
|     `DiscordId`             BIGINT(20)  NOT NULL, | ||||
|     `SentMessageCount`      BIGINT(20)  NOT NULL DEFAULT 0, | ||||
|     `ReceivedMessageCount`  BIGINT(20)  NOT NULL DEFAULT 0, | ||||
|     `DeletedMessageCount`   BIGINT(20)  NOT NULL DEFAULT 0, | ||||
|     `ReceivedCommandsCount` BIGINT(20)  NOT NULL DEFAULT 0, | ||||
|     `MovedUsersCount`       BIGINT(20)  NOT NULL DEFAULT 0, | ||||
|     `ServerId`              BIGINT(20)           DEFAULT NULL, | ||||
|     `Deleted`               BOOL                 DEFAULT FALSE, | ||||
|     `DateFrom`              DATETIME(6) NOT NULL, | ||||
|     `DateTo`                DATETIME(6) NOT NULL | ||||
| );; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_ClientsUpdate`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_ClientsUpdate` | ||||
|     AFTER UPDATE | ||||
|     ON `Clients` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `ClientsHistory` (`Id`, `DiscordId`, `SentMessageCount`, `ReceivedMessageCount`, `DeletedMessageCount`, | ||||
|                                   `ReceivedCommandsCount`, `MovedUsersCount`, `ServerId`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.ClientId, OLD.DiscordClientId, OLD.SentMessageCount, OLD.ReceivedMessageCount, OLD.DeletedMessageCount, | ||||
|             OLD.ReceivedCommandsCount, OLD.MovedUsersCount, OLD.ServerId, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_ClientsDelete`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_ClientsDelete` | ||||
|     AFTER DELETE | ||||
|     ON `Clients` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `ClientsHistory` (`Id`, `DiscordId`, `SentMessageCount`, `ReceivedMessageCount`, `DeletedMessageCount`, | ||||
|                                   `ReceivedCommandsCount`, `MovedUsersCount`, `ServerId`, `Deleted`, `DateFrom`, | ||||
|                                   `DateTo`) | ||||
|     VALUES (OLD.ClientId, OLD.DiscordClientId, OLD.SentMessageCount, OLD.ReceivedMessageCount, OLD.DeletedMessageCount, | ||||
|             OLD.ReceivedCommandsCount, OLD.MovedUsersCount, OLD.ServerId, TRUE, OLD.LastModifiedAt, | ||||
|             CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| ALTER TABLE `GameServers` | ||||
|     CHANGE `CreatedAt` `CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| ALTER TABLE `GameServers` | ||||
|     CHANGE `LastModifiedAt` `LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `GameServersHistory` | ||||
| ( | ||||
|     `Id`       BIGINT(20)   NOT NULL, | ||||
|     `Name`     VARCHAR(255) NOT NULL, | ||||
|     `ServerId` BIGINT(20)   NOT NULL, | ||||
|     `ApiKeyId` BIGINT(20)   NOT NULL, | ||||
|     `Deleted`  BOOL DEFAULT FALSE, | ||||
|     `DateFrom` DATETIME(6)  NOT NULL, | ||||
|     `DateTo`   DATETIME(6)  NOT NULL | ||||
| );; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_GameServersUpdate`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_GameServersUpdate` | ||||
|     AFTER UPDATE | ||||
|     ON `GameServers` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `GameServersHistory` (`Id`, `Name`, `ServerId`, `ApiKeyId`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.Id, OLD.Name, OLD.ServerId, OLD.ApiKeyId, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_GameServersDelete`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_GameServersDelete` | ||||
|     AFTER DELETE | ||||
|     ON `GameServers` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `GameServersHistory` (`Id`, `Name`, `ServerId`, `ApiKeyId`, `Deleted`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.Id, OLD.Name, OLD.ServerId, OLD.ApiKeyId, TRUE, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| ALTER TABLE `KnownUsers` | ||||
|     CHANGE `CreatedAt` `CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| ALTER TABLE `KnownUsers` | ||||
|     CHANGE `LastModifiedAt` `LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `KnownUsersHistory` | ||||
| ( | ||||
|     `Id`        BIGINT(20)  NOT NULL, | ||||
|     `DiscordId` BIGINT(20)  NOT NULL, | ||||
|     `Deleted`   BOOL DEFAULT FALSE, | ||||
|     `DateFrom`  DATETIME(6) NOT NULL, | ||||
|     `DateTo`    DATETIME(6) NOT NULL | ||||
| );; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_KnownUsersUpdate`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_KnownUsersUpdate` | ||||
|     AFTER UPDATE | ||||
|     ON `KnownUsers` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `KnownUsersHistory` (`Id`, `DiscordId`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.KnownUserId, OLD.DiscordId, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_KnownUsersDelete`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_KnownUsersDelete` | ||||
|     AFTER DELETE | ||||
|     ON `KnownUsers` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `KnownUsersHistory` (`Id`, `DiscordId`, `Deleted`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.KnownUserId, OLD.DiscordId, TRUE, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| ALTER TABLE `Levels` | ||||
|     CHANGE `CreatedAt` `CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| ALTER TABLE `Levels` | ||||
|     CHANGE `LastModifiedAt` `LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `LevelsHistory` | ||||
| ( | ||||
|     `Id`            BIGINT(20)   NOT NULL, | ||||
|     `Name`          VARCHAR(255) NOT NULL, | ||||
|     `Color`         VARCHAR(8)   NOT NULL, | ||||
|     `MinXp`         BIGINT(20)   NOT NULL, | ||||
|     `PermissionInt` BIGINT(20)   NOT NULL, | ||||
|     `ServerId`      BIGINT(20) DEFAULT NULL, | ||||
|     `Deleted`       BOOL       DEFAULT FALSE, | ||||
|     `DateFrom`      DATETIME(6)  NOT NULL, | ||||
|     `DateTo`        DATETIME(6)  NOT NULL | ||||
| );; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_LevelsUpdate`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_LevelsUpdate` | ||||
|     AFTER UPDATE | ||||
|     ON `Levels` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `LevelsHistory` (`Id`, `Name`, `Color`, `MinXp`, `PermissionInt`, `ServerId`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.Id, OLD.Name, OLD.Color, OLD.MinXp, OLD.PermissionInt, OLD.ServerId, OLD.LastModifiedAt, | ||||
|             CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_LevelsDelete`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_LevelsDelete` | ||||
|     AFTER DELETE | ||||
|     ON `Levels` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `LevelsHistory` (`Id`, `Name`, `Color`, `MinXp`, `PermissionInt`, `ServerId`, `Deleted`, `DateFrom`, | ||||
|                                  `DateTo`) | ||||
|     VALUES (OLD.Id, OLD.Name, OLD.Color, OLD.MinXp, OLD.PermissionInt, OLD.ServerId, TRUE, OLD.LastModifiedAt, | ||||
|             CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| ALTER TABLE `Servers` | ||||
|     CHANGE `CreatedAt` `CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| ALTER TABLE `Servers` | ||||
|     CHANGE `LastModifiedAt` `LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `ServersHistory` | ||||
| ( | ||||
|     `Id`        BIGINT(20)  NOT NULL, | ||||
|     `DiscordId` BIGINT(20)  NOT NULL, | ||||
|     `Deleted`   BOOL DEFAULT FALSE, | ||||
|     `DateFrom`  DATETIME(6) NOT NULL, | ||||
|     `DateTo`    DATETIME(6) NOT NULL | ||||
| );; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_ServersUpdate`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_ServersUpdate` | ||||
|     AFTER UPDATE | ||||
|     ON `Servers` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `ServersHistory` (`Id`, `DiscordId`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.ServerId, OLD.DiscordServerId, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_ServersDelete`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_ServersDelete` | ||||
|     AFTER DELETE | ||||
|     ON `Servers` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `ServersHistory` (`Id`, `DiscordId`, `Deleted`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.ServerId, OLD.DiscordServerId, TRUE, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| ALTER TABLE `UserGameIdents` | ||||
|     CHANGE `CreatedAt` `CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| ALTER TABLE `UserGameIdents` | ||||
|     CHANGE `LastModifiedAt` `LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `UserGameIdentsHistory` | ||||
| ( | ||||
|     `Id`           BIGINT(20)   NOT NULL, | ||||
|     `UserId`       BIGINT(20)   NOT NULL, | ||||
|     `GameServerId` BIGINT(20)   NOT NULL, | ||||
|     `Ident`        VARCHAR(255) NOT NULL, | ||||
|     `Deleted`      BOOL DEFAULT FALSE, | ||||
|     `DateFrom`     DATETIME(6)  NOT NULL, | ||||
|     `DateTo`       DATETIME(6)  NOT NULL | ||||
| );; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_UserGameIdentsUpdate`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_UserGameIdentsUpdate` | ||||
|     AFTER UPDATE | ||||
|     ON `UserGameIdents` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `UserGameIdentsHistory` (`Id`, `UserId`, `GameServerId`, `Ident`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.Id, OLD.UserId, OLD.GameServerId, OLD.Ident, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_UserGameIdentsDelete`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_UserGameIdentsDelete` | ||||
|     AFTER DELETE | ||||
|     ON `UserGameIdents` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `UserGameIdentsHistory` (`Id`, `UserId`, `GameServerId`, `Ident`, `Deleted`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.Id, OLD.UserId, OLD.GameServerId, OLD.Ident, TRUE, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| ALTER TABLE `UserJoinedGameServer` | ||||
|     CHANGE `CreatedAt` `CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| ALTER TABLE `UserJoinedGameServer` | ||||
|     CHANGE `LastModifiedAt` `LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `UserJoinedGameServerHistory` | ||||
| ( | ||||
|     `Id`           BIGINT(20)  NOT NULL, | ||||
|     `UserId`       BIGINT(20)  NOT NULL, | ||||
|     `GameServerId` BIGINT(20)  NOT NULL, | ||||
|     `JoinedOn`     DATETIME(6) NOT NULL, | ||||
|     `LeavedOn`     DATETIME(6) DEFAULT NULL, | ||||
|     `Deleted`      BOOL        DEFAULT FALSE, | ||||
|     `DateFrom`     DATETIME(6) NOT NULL, | ||||
|     `DateTo`       DATETIME(6) NOT NULL | ||||
| );; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_UserJoinedGameServerUpdate`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_UserJoinedGameServerUpdate` | ||||
|     AFTER UPDATE | ||||
|     ON `UserJoinedGameServer` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `UserJoinedGameServerHistory` (`Id`, `UserId`, `GameServerId`, `JoinedOn`, `LeavedOn`, `DateFrom`, | ||||
|                                                `DateTo`) | ||||
|     VALUES (OLD.Id, OLD.UserId, OLD.GameServerId, OLD.JoinedOn, OLD.LeavedOn, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_UserJoinedGameServerDelete`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_UserJoinedGameServerDelete` | ||||
|     AFTER DELETE | ||||
|     ON `UserJoinedGameServer` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `UserJoinedGameServerHistory` (`Id`, `UserId`, `GameServerId`, `JoinedOn`, `LeavedOn`, `Deleted`, | ||||
|                                                `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.Id, OLD.UserId, OLD.GameServerId, OLD.JoinedOn, OLD.LeavedOn, TRUE, OLD.LastModifiedAt, | ||||
|             CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| ALTER TABLE `UserJoinedServers` | ||||
|     CHANGE `CreatedAt` `CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| ALTER TABLE `UserJoinedServers` | ||||
|     CHANGE `LastModifiedAt` `LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `UserJoinedServersHistory` | ||||
| ( | ||||
|     `Id`       BIGINT(20)  NOT NULL, | ||||
|     `UserId`   BIGINT(20)  NOT NULL, | ||||
|     `JoinedOn` DATETIME(6) NOT NULL, | ||||
|     `LeavedOn` DATETIME(6) DEFAULT NULL, | ||||
|     `Deleted`  BOOL        DEFAULT FALSE, | ||||
|     `DateFrom` DATETIME(6) NOT NULL, | ||||
|     `DateTo`   DATETIME(6) NOT NULL | ||||
| );; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_UserJoinedServersUpdate`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_UserJoinedServersUpdate` | ||||
|     AFTER UPDATE | ||||
|     ON `UserJoinedServers` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `UserJoinedServersHistory` (`Id`, `UserId`, `JoinedOn`, `LeavedOn`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.JoinId, OLD.UserId, OLD.JoinedOn, OLD.LeavedOn, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_UserJoinedServersDelete`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_UserJoinedServersDelete` | ||||
|     AFTER DELETE | ||||
|     ON `UserJoinedServers` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `UserJoinedServersHistory` (`Id`, `UserId`, `JoinedOn`, `LeavedOn`, `Deleted`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.JoinId, OLD.UserId, OLD.JoinedOn, OLD.LeavedOn, TRUE, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| ALTER TABLE `UserJoinedVoiceChannel` | ||||
|     CHANGE `CreatedAt` `CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| ALTER TABLE `UserJoinedVoiceChannel` | ||||
|     CHANGE `LastModifiedAt` `LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `UserJoinedVoiceChannelHistory` | ||||
| ( | ||||
|     `Id`               BIGINT(20)  NOT NULL, | ||||
|     `UserId`           BIGINT(20)  NOT NULL, | ||||
|     `DiscordChannelId` BIGINT(20)  NOT NULL, | ||||
|     `JoinedOn`         DATETIME(6) NOT NULL, | ||||
|     `LeavedOn`         DATETIME(6) DEFAULT NULL, | ||||
|     `Deleted`          BOOL        DEFAULT FALSE, | ||||
|     `DateFrom`         DATETIME(6) NOT NULL, | ||||
|     `DateTo`           DATETIME(6) NOT NULL | ||||
| );; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_UserJoinedVoiceChannelUpdate`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_UserJoinedVoiceChannelUpdate` | ||||
|     AFTER UPDATE | ||||
|     ON `UserJoinedVoiceChannel` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `UserJoinedVoiceChannelHistory` (`Id`, `UserId`, `DiscordChannelId`, `JoinedOn`, `LeavedOn`, `DateFrom`, | ||||
|                                                  `DateTo`) | ||||
|     VALUES (OLD.JoinId, OLD.UserId, OLD.DiscordChannelId, OLD.JoinedOn, OLD.LeavedOn, OLD.LastModifiedAt, | ||||
|             CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_UserJoinedVoiceChannelDelete`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_UserJoinedVoiceChannelDelete` | ||||
|     AFTER DELETE | ||||
|     ON `UserJoinedVoiceChannel` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `UserJoinedVoiceChannelHistory` (`Id`, `UserId`, `DiscordChannelId`, `JoinedOn`, `LeavedOn`, `Deleted`, | ||||
|                                                  `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.JoinId, OLD.UserId, OLD.DiscordChannelId, OLD.JoinedOn, OLD.LeavedOn, TRUE, OLD.LastModifiedAt, | ||||
|             CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| ALTER TABLE `UserMessageCountPerHour` | ||||
|     CHANGE `CreatedAt` `CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| ALTER TABLE `UserMessageCountPerHour` | ||||
|     CHANGE `LastModifiedAt` `LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `UserMessageCountPerHourHistory` | ||||
| ( | ||||
|     `Id`       BIGINT(20)  NOT NULL, | ||||
|     `Date`     DATETIME(6) NOT NULL, | ||||
|     `Hour`     BIGINT(20) DEFAULT NULL, | ||||
|     `XPCount`  BIGINT(20) DEFAULT NULL, | ||||
|     `UserId`   BIGINT(20) DEFAULT NULL, | ||||
|     `Deleted`  BOOL       DEFAULT FALSE, | ||||
|     `DateFrom` DATETIME(6) NOT NULL, | ||||
|     `DateTo`   DATETIME(6) NOT NULL | ||||
| );; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_UserMessageCountPerHourUpdate`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_UserMessageCountPerHourUpdate` | ||||
|     AFTER UPDATE | ||||
|     ON `UserMessageCountPerHour` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `UserMessageCountPerHourHistory` (`Id`, `UserId`, `Date`, `Hour`, `XPCount`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.Id, OLD.UserId, OLD.Date, OLD.Hour, OLD.XPCount, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_UserMessageCountPerHourDelete`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_UserMessageCountPerHourDelete` | ||||
|     AFTER DELETE | ||||
|     ON `UserMessageCountPerHour` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `UserMessageCountPerHourHistory` (`Id`, `UserId`, `Date`, `Hour`, `XPCount`, `Deleted`, `DateFrom`, | ||||
|                                                   `DateTo`) | ||||
|     VALUES (OLD.Id, OLD.UserId, OLD.Date, OLD.Hour, OLD.XPCount, TRUE, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| ALTER TABLE `Users` | ||||
|     CHANGE `CreatedAt` `CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| ALTER TABLE `Users` | ||||
|     CHANGE `LastModifiedAt` `LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `UsersHistory` | ||||
| ( | ||||
|     `Id`            BIGINT(20)  NOT NULL, | ||||
|     `DiscordId`     BIGINT(20)  NOT NULL, | ||||
|     `XP`            BIGINT(20)  NOT NULL DEFAULT 0, | ||||
|     `ReactionCount` BIGINT(20)  NOT NULL DEFAULT 0, | ||||
|     `MessageCount`  BIGINT(20)  NOT NULL DEFAULT 0, | ||||
|     `Birthday`      DATE        NULL, | ||||
|     `ServerId`      BIGINT(20)           DEFAULT NULL, | ||||
|     `Deleted`       BOOL                 DEFAULT FALSE, | ||||
|     `DateFrom`      DATETIME(6) NOT NULL, | ||||
|     `DateTo`        DATETIME(6) NOT NULL | ||||
| );; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_UsersUpdate`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_UsersUpdate` | ||||
|     AFTER UPDATE | ||||
|     ON `Users` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `UsersHistory` (`Id`, `DiscordId`, `XP`, `ReactionCount`, `MessageCount`, `Birthday`, `ServerId`, | ||||
|                                 `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.UserId, OLD.DiscordId, OLD.XP, OLD.ReactionCount, OLD.MessageCount, OLD.Birthday, OLD.ServerId, | ||||
|             OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_UsersDelete`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_UsersDelete` | ||||
|     AFTER DELETE | ||||
|     ON `Users` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `UsersHistory` (`Id`, `DiscordId`, `XP`, `ReactionCount`, `MessageCount`, `Birthday`, `ServerId`, | ||||
|                                 `Deleted`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.UserId, OLD.DiscordId, OLD.XP, OLD.ReactionCount, OLD.MessageCount, OLD.Birthday, OLD.ServerId, TRUE, | ||||
|             OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| ALTER TABLE `UserWarnings` | ||||
|     CHANGE `CreatedAt` `CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| ALTER TABLE `UserWarnings` | ||||
|     CHANGE `LastModifiedAt` `LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6);; | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `UserWarningsHistory` | ||||
| ( | ||||
|     `Id`          BIGINT(20)   NOT NULL, | ||||
|     `Description` VARCHAR(255) NOT NULL, | ||||
|     `UserId`      BIGINT(20)   NOT NULL, | ||||
|     `Author`      BIGINT(20) DEFAULT NULL, | ||||
|     `Deleted`     BOOL       DEFAULT FALSE, | ||||
|     `DateFrom`    DATETIME(6)  NOT NULL, | ||||
|     `DateTo`      DATETIME(6)  NOT NULL | ||||
| );; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_UserWarningsUpdate`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_UserWarningsUpdate` | ||||
|     AFTER UPDATE | ||||
|     ON `UserWarnings` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `UserWarningsHistory` (`Id`, `Description`, `UserId`, `Author`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.Id, OLD.Description, OLD.UserId, OLD.Author, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
| DROP TRIGGER IF EXISTS `TR_UserWarningsDelete`;; | ||||
|  | ||||
| CREATE TRIGGER `TR_UserWarningsDelete` | ||||
|     AFTER DELETE | ||||
|     ON `UserWarnings` | ||||
|     FOR EACH ROW | ||||
| BEGIN | ||||
|     INSERT INTO `UserWarningsHistory` (`Id`, `Description`, `UserId`, `Author`, `Deleted`, `DateFrom`, `DateTo`) | ||||
|     VALUES (OLD.Id, OLD.Description, OLD.UserId, OLD.Author, TRUE, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6)); | ||||
| END;; | ||||
|  | ||||
		Reference in New Issue
	
	Block a user