Compare commits
8 Commits
aec7dac4c7
...
4e12ba5ffe
Author | SHA1 | Date | |
---|---|---|---|
4e12ba5ffe | |||
35a8b8f592 | |||
5c8feed8aa | |||
e018fdcbdf | |||
39b9def76c | |||
2801c617f6 | |||
5461a6d8dc | |||
d93c3ad6c7 |
@ -4,7 +4,7 @@ from bot_data.db_context import DBContext
|
|||||||
|
|
||||||
|
|
||||||
class ApiMigration(MigrationABC):
|
class ApiMigration(MigrationABC):
|
||||||
name = "0.3_ApiMigration"
|
name = "0.3.0_ApiMigration"
|
||||||
|
|
||||||
def __init__(self, logger: DatabaseLogger, db: DBContext):
|
def __init__(self, logger: DatabaseLogger, db: DBContext):
|
||||||
MigrationABC.__init__(self)
|
MigrationABC.__init__(self)
|
||||||
|
@ -4,7 +4,7 @@ from bot_data.db_context import DBContext
|
|||||||
|
|
||||||
|
|
||||||
class InitialMigration(MigrationABC):
|
class InitialMigration(MigrationABC):
|
||||||
name = "0.1_InitialMigration"
|
name = "0.1.0_InitialMigration"
|
||||||
|
|
||||||
def __init__(self, logger: DatabaseLogger, db: DBContext):
|
def __init__(self, logger: DatabaseLogger, db: DBContext):
|
||||||
MigrationABC.__init__(self)
|
MigrationABC.__init__(self)
|
||||||
|
@ -4,7 +4,7 @@ from bot_data.db_context import DBContext
|
|||||||
|
|
||||||
|
|
||||||
class LevelMigration(MigrationABC):
|
class LevelMigration(MigrationABC):
|
||||||
name = "0.3_LevelMigration"
|
name = "0.3.0_LevelMigration"
|
||||||
|
|
||||||
def __init__(self, logger: DatabaseLogger, db: DBContext):
|
def __init__(self, logger: DatabaseLogger, db: DBContext):
|
||||||
MigrationABC.__init__(self)
|
MigrationABC.__init__(self)
|
||||||
|
@ -4,7 +4,7 @@ from bot_data.db_context import DBContext
|
|||||||
|
|
||||||
|
|
||||||
class StatsMigration(MigrationABC):
|
class StatsMigration(MigrationABC):
|
||||||
name = "0.3_StatsMigration"
|
name = "0.3.0_StatsMigration"
|
||||||
|
|
||||||
def __init__(self, logger: DatabaseLogger, db: DBContext):
|
def __init__(self, logger: DatabaseLogger, db: DBContext):
|
||||||
MigrationABC.__init__(self)
|
MigrationABC.__init__(self)
|
||||||
|
@ -68,3 +68,5 @@ CREATE TABLE IF NOT EXISTS `UserJoinedVoiceChannel`
|
|||||||
FOREIGN KEY (`UserId`) REFERENCES Users (`UserId`),
|
FOREIGN KEY (`UserId`) REFERENCES Users (`UserId`),
|
||||||
PRIMARY KEY (`JoinId`)
|
PRIMARY KEY (`JoinId`)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
DROP TABLE `AutoRoles`;
|
DROP TABLE `AutoRole`;
|
||||||
|
|
||||||
DROP TABLE `AutoRoleRules`;
|
DROP TABLE `AutoRoleRules`;
|
||||||
|
|
@ -9,6 +9,8 @@ CREATE TABLE IF NOT EXISTS `AutoRoles`
|
|||||||
FOREIGN KEY (`ServerId`) REFERENCES `Servers` (`ServerId`)
|
FOREIGN KEY (`ServerId`) REFERENCES `Servers` (`ServerId`)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `AutoRoleRules`
|
CREATE TABLE IF NOT EXISTS `AutoRoleRules`
|
||||||
(
|
(
|
||||||
`AutoRoleRuleId` BIGINT NOT NULL AUTO_INCREMENT,
|
`AutoRoleRuleId` BIGINT NOT NULL AUTO_INCREMENT,
|
4
bot/src/bot_data/scripts/0.3.0/1_Api_down.sql
Normal file
4
bot/src/bot_data/scripts/0.3.0/1_Api_down.sql
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
DROP TABLE `AuthUsers`;
|
||||||
|
|
||||||
|
DROP TABLE `AuthUserUsersRelations`;
|
||||||
|
|
34
bot/src/bot_data/scripts/0.3.0/1_Api_up.sql
Normal file
34
bot/src/bot_data/scripts/0.3.0/1_Api_up.sql
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
CREATE TABLE IF NOT EXISTS `AuthUsers`
|
||||||
|
(
|
||||||
|
`Id` BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
`FirstName` VARCHAR(255),
|
||||||
|
`LastName` VARCHAR(255),
|
||||||
|
`EMail` VARCHAR(255),
|
||||||
|
`Password` VARCHAR(255),
|
||||||
|
`PasswordSalt` VARCHAR(255),
|
||||||
|
`RefreshToken` VARCHAR(255),
|
||||||
|
`ConfirmationId` VARCHAR(255) DEFAULT NULL,
|
||||||
|
`ForgotPasswordId` VARCHAR(255) DEFAULT NULL,
|
||||||
|
`OAuthId` VARCHAR(255) DEFAULT NULL,
|
||||||
|
`RefreshTokenExpiryTime` DATETIME(6) NOT NULL,
|
||||||
|
`AuthRole` INT NOT NULL DEFAULT 0,
|
||||||
|
`CreatedAt` DATETIME(6) NOT NULL,
|
||||||
|
`LastModifiedAt` DATETIME(6) NOT NULL,
|
||||||
|
PRIMARY KEY (`Id`)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `AuthUserUsersRelations`
|
||||||
|
(
|
||||||
|
`Id` BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
`AuthUserId` BIGINT DEFAULT NULL,
|
||||||
|
`UserId` BIGINT DEFAULT NULL,
|
||||||
|
`CreatedAt` DATETIME(6) NOT NULL,
|
||||||
|
`LastModifiedAt` DATETIME(6) NOT NULL,
|
||||||
|
PRIMARY KEY (`Id`),
|
||||||
|
FOREIGN KEY (`AuthUserId`) REFERENCES `AuthUsers` (`Id`),
|
||||||
|
FOREIGN KEY (`UserId`) REFERENCES `Users` (`UserId`)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
2
bot/src/bot_data/scripts/0.3.0/2_Level_down.sql
Normal file
2
bot/src/bot_data/scripts/0.3.0/2_Level_down.sql
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
DROP TABLE `Levels`;
|
||||||
|
|
15
bot/src/bot_data/scripts/0.3.0/2_Level_up.sql
Normal file
15
bot/src/bot_data/scripts/0.3.0/2_Level_up.sql
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
CREATE TABLE IF NOT EXISTS `Levels`
|
||||||
|
(
|
||||||
|
`Id` BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
`Name` VARCHAR(255) NOT NULL,
|
||||||
|
`Color` VARCHAR(8) NOT NULL,
|
||||||
|
`MinXp` BIGINT NOT NULL,
|
||||||
|
`PermissionInt` BIGINT NOT NULL,
|
||||||
|
`ServerId` BIGINT,
|
||||||
|
`CreatedAt` DATETIME(6),
|
||||||
|
`LastModifiedAt` DATETIME(6),
|
||||||
|
PRIMARY KEY (`Id`),
|
||||||
|
FOREIGN KEY (`ServerId`) REFERENCES `Servers` (`ServerId`)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
2
bot/src/bot_data/scripts/0.3.0/3_Stats_down.sql
Normal file
2
bot/src/bot_data/scripts/0.3.0/3_Stats_down.sql
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
DROP TABLE `Statistics`;
|
||||||
|
|
14
bot/src/bot_data/scripts/0.3.0/3_Stats_up.sql
Normal file
14
bot/src/bot_data/scripts/0.3.0/3_Stats_up.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`)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
4
bot/src/bot_data/scripts/0.3.0/4_AutoRoleFix_down.sql
Normal file
4
bot/src/bot_data/scripts/0.3.0/4_AutoRoleFix_down.sql
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
ALTER TABLE AutoRoles
|
||||||
|
DROP COLUMN DiscordChannelId;
|
||||||
|
|
||||||
|
|
4
bot/src/bot_data/scripts/0.3.0/4_AutoRoleFix_up.sql
Normal file
4
bot/src/bot_data/scripts/0.3.0/4_AutoRoleFix_up.sql
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
ALTER TABLE AutoRoles
|
||||||
|
ADD DiscordChannelId BIGINT NOT NULL AFTER ServerId;
|
||||||
|
|
||||||
|
|
@ -0,0 +1,2 @@
|
|||||||
|
DROP TABLE `UserMessageCountPerHour`;
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
CREATE TABLE IF NOT EXISTS `UserMessageCountPerHour`
|
||||||
|
(
|
||||||
|
`Id` BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
`Date` DATETIME(6) NOT NULL,
|
||||||
|
`Hour` BIGINT,
|
||||||
|
`XPCount` BIGINT,
|
||||||
|
`UserId` BIGINT,
|
||||||
|
`CreatedAt` DATETIME(6),
|
||||||
|
`LastModifiedAt` DATETIME(6),
|
||||||
|
PRIMARY KEY (`Id`),
|
||||||
|
FOREIGN KEY (`UserId`) REFERENCES `Users` (`UserId`)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
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;;
|
||||||
|
|
6
bot/src/bot_data/scripts/1.1.0/1_Achievements_down.sql
Normal file
6
bot/src/bot_data/scripts/1.1.0/1_Achievements_down.sql
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
DROP TABLE `Achievements`;
|
||||||
|
|
||||||
|
ALTER TABLE Users DROP COLUMN MessageCount;
|
||||||
|
|
||||||
|
ALTER TABLE Users DROP COLUMN ReactionCount;
|
||||||
|
|
88
bot/src/bot_data/scripts/1.1.0/1_Achievements_up.sql
Normal file
88
bot/src/bot_data/scripts/1.1.0/1_Achievements_up.sql
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
CREATE TABLE IF NOT EXISTS `Achievements`
|
||||||
|
(
|
||||||
|
`Id` BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
`Name` VARCHAR(255) NOT NULL,
|
||||||
|
`Description` VARCHAR(255) NOT NULL,
|
||||||
|
`Attribute` VARCHAR(255) NOT NULL,
|
||||||
|
`Operator` VARCHAR(255) NOT NULL,
|
||||||
|
`Value` VARCHAR(255) NOT NULL,
|
||||||
|
`ServerId` BIGINT,
|
||||||
|
`CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||||
|
`LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
|
||||||
|
PRIMARY KEY (`Id`),
|
||||||
|
FOREIGN KEY (`ServerId`) REFERENCES `Servers` (`ServerId`)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `AchievementsHistory`
|
||||||
|
(
|
||||||
|
`Id` BIGINT(20) NOT NULL,
|
||||||
|
`Name` VARCHAR(255) NOT NULL,
|
||||||
|
`Description` VARCHAR(255) NOT NULL,
|
||||||
|
`Attribute` VARCHAR(255) NOT NULL,
|
||||||
|
`Operator` VARCHAR(255) NOT NULL,
|
||||||
|
`Value` VARCHAR(255) NOT NULL,
|
||||||
|
`ServerId` BIGINT,
|
||||||
|
`Deleted` BOOL DEFAULT FALSE,
|
||||||
|
`DateFrom` DATETIME(6) NOT NULL,
|
||||||
|
`DateTo` DATETIME(6) NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `UserGotAchievements`
|
||||||
|
(
|
||||||
|
`Id` BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
`UserId` BIGINT,
|
||||||
|
`AchievementId` BIGINT,
|
||||||
|
`CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||||
|
`LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
|
||||||
|
PRIMARY KEY (`Id`),
|
||||||
|
FOREIGN KEY (`UserId`) REFERENCES `Users` (`UserId`),
|
||||||
|
FOREIGN KEY (`AchievementId`) REFERENCES `Achievements` (`Id`)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE Users
|
||||||
|
ADD MessageCount BIGINT NOT NULL DEFAULT 0 AFTER XP;
|
||||||
|
|
||||||
|
ALTER TABLE Users
|
||||||
|
ADD ReactionCount BIGINT NOT NULL DEFAULT 0 AFTER XP;
|
||||||
|
|
||||||
|
ALTER TABLE UsersHistory
|
||||||
|
ADD MessageCount BIGINT NOT NULL DEFAULT 0 AFTER XP;
|
||||||
|
|
||||||
|
ALTER TABLE UsersHistory
|
||||||
|
ADD ReactionCount BIGINT NOT NULL DEFAULT 0 AFTER XP;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_AchievementsUpdate`;
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_AchievementsUpdate`
|
||||||
|
AFTER UPDATE
|
||||||
|
ON `Achievements`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `AchievementsHistory` (`Id`, `Name`, `Description`, `Attribute`, `Operator`, `Value`, `ServerId`,
|
||||||
|
`DateFrom`, `DateTo`)
|
||||||
|
VALUES (OLD.Id, OLD.Name, OLD.Description, OLD.Attribute, OLD.Operator, OLD.Value, OLD.ServerId, OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;
|
||||||
|
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_AchievementsDelete`;
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_AchievementsDelete`
|
||||||
|
AFTER DELETE
|
||||||
|
ON `Achievements`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `AchievementsHistory` (`Id`, `Name`, `Description`, `Attribute`, `Operator`, `Value`, `ServerId`,
|
||||||
|
`Deleted`, `DateFrom`, `DateTo`)
|
||||||
|
VALUES (OLD.Id, OLD.Name, OLD.Description, OLD.Attribute, OLD.Operator, OLD.Value, OLD.ServerId, TRUE,
|
||||||
|
OLD.LastModifiedAt, CURRENT_TIMESTAMP(6));
|
||||||
|
END;
|
||||||
|
|
||||||
|
|
8
bot/src/bot_data/scripts/1.1.0/2_Config_down.sql
Normal file
8
bot/src/bot_data/scripts/1.1.0/2_Config_down.sql
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
DROP TABLE `CFG_Server`;
|
||||||
|
|
||||||
|
DROP TABLE `CFG_Technician`;
|
||||||
|
|
||||||
|
DROP TABLE `CFG_TechnicianPingUrls`;
|
||||||
|
|
||||||
|
DROP TABLE `CFG_TechnicianIds`;
|
||||||
|
|
482
bot/src/bot_data/scripts/1.1.0/2_Config_up.sql
Normal file
482
bot/src/bot_data/scripts/1.1.0/2_Config_up.sql
Normal file
@ -0,0 +1,482 @@
|
|||||||
|
CREATE TABLE IF NOT EXISTS `CFG_Server`
|
||||||
|
(
|
||||||
|
`Id` BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
`MessageDeleteTimer` BIGINT NOT NULL DEFAULT 6,
|
||||||
|
`NotificationChatId` BIGINT NOT NULL,
|
||||||
|
`MaxVoiceStateHours` BIGINT NOT NULL DEFAULT 6,
|
||||||
|
`XpPerMessage` BIGINT NOT NULL DEFAULT 1,
|
||||||
|
`XpPerReaction` BIGINT NOT NULL DEFAULT 1,
|
||||||
|
`MaxMessageXpPerHour` BIGINT NOT NULL DEFAULT 20,
|
||||||
|
`XpPerOntimeHour` BIGINT NOT NULL DEFAULT 10,
|
||||||
|
`XpPerEventParticipation` BIGINT NOT NULL DEFAULT 10,
|
||||||
|
`XpPerAchievement` BIGINT NOT NULL DEFAULT 10,
|
||||||
|
`AFKCommandChannelId` BIGINT NOT NULL,
|
||||||
|
`HelpVoiceChannelId` BIGINT NOT NULL,
|
||||||
|
`TeamChannelId` BIGINT NOT NULL,
|
||||||
|
`LoginMessageChannelId` BIGINT NOT NULL,
|
||||||
|
`ServerId` BIGINT NOT NULL,
|
||||||
|
`CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||||
|
`LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
|
||||||
|
PRIMARY KEY (`Id`),
|
||||||
|
FOREIGN KEY (`ServerId`) REFERENCES `Servers` (`ServerId`)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `CFG_ServerAFKChannelIds`
|
||||||
|
(
|
||||||
|
`Id` BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
`ChannelId` BIGINT NOT NULL,
|
||||||
|
`ServerId` BIGINT NOT NULL,
|
||||||
|
`CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||||
|
`LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
|
||||||
|
PRIMARY KEY (`Id`),
|
||||||
|
FOREIGN KEY (`ServerId`) REFERENCES `Servers` (`ServerId`)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `CFG_ServerTeamRoleIds`
|
||||||
|
(
|
||||||
|
`Id` BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
`RoleId` BIGINT NOT NULL,
|
||||||
|
`TeamMemberType` ENUM ('Moderator', 'Admin') NOT NULL,
|
||||||
|
`ServerId` BIGINT NOT NULL,
|
||||||
|
`CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||||
|
`LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
|
||||||
|
PRIMARY KEY (`Id`),
|
||||||
|
FOREIGN KEY (`ServerId`) REFERENCES `Servers` (`ServerId`)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `CFG_Technician`
|
||||||
|
(
|
||||||
|
`Id` BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
`HelpCommandReferenceUrl` VARCHAR(255) NOT NULL,
|
||||||
|
`WaitForRestart` BIGINT NOT NULL DEFAULT 8,
|
||||||
|
`WaitForShutdown` BIGINT NOT NULL DEFAULT 8,
|
||||||
|
`CacheMaxMessages` BIGINT NOT NULL DEFAULT 1000000,
|
||||||
|
`CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||||
|
`LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
|
||||||
|
PRIMARY KEY (`Id`)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `CFG_TechnicianPingUrls`
|
||||||
|
(
|
||||||
|
`Id` BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
`URL` VARCHAR(255) NOT NULL,
|
||||||
|
`CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||||
|
`LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
|
||||||
|
PRIMARY KEY (`Id`)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `CFG_TechnicianIds`
|
||||||
|
(
|
||||||
|
`Id` BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
`TechnicianId` BIGINT NOT NULL,
|
||||||
|
`CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||||
|
`LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
|
||||||
|
PRIMARY KEY (`Id`)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `CFG_ServerHistory`
|
||||||
|
(
|
||||||
|
`Id` BIGINT(20) NOT NULL,
|
||||||
|
`MessageDeleteTimer` BIGINT NOT NULL DEFAULT 6,
|
||||||
|
`NotificationChatId` BIGINT NOT NULL,
|
||||||
|
`MaxVoiceStateHours` BIGINT NOT NULL DEFAULT 6,
|
||||||
|
`XpPerMessage` BIGINT NOT NULL DEFAULT 1,
|
||||||
|
`XpPerReaction` BIGINT NOT NULL DEFAULT 1,
|
||||||
|
`MaxMessageXpPerHour` BIGINT NOT NULL DEFAULT 20,
|
||||||
|
`XpPerOntimeHour` BIGINT NOT NULL DEFAULT 10,
|
||||||
|
`XpPerEventParticipation` BIGINT NOT NULL DEFAULT 10,
|
||||||
|
`XpPerAchievement` BIGINT NOT NULL DEFAULT 10,
|
||||||
|
`AFKCommandChannelId` BIGINT NOT NULL,
|
||||||
|
`HelpVoiceChannelId` BIGINT NOT NULL,
|
||||||
|
`TeamChannelId` BIGINT NOT NULL,
|
||||||
|
`LoginMessageChannelId` BIGINT NOT NULL,
|
||||||
|
`DefaultRoleId` BIGINT NULL,
|
||||||
|
`ShortRoleNameSetOnlyHighest` BOOLEAN NOT NULL DEFAULT FALSE,
|
||||||
|
`FeatureFlags` JSON NULL DEFAULT ('{}'),
|
||||||
|
`ServerId` BIGINT NOT NULL,
|
||||||
|
`Deleted` BOOL DEFAULT FALSE,
|
||||||
|
`DateFrom` DATETIME(6) NOT NULL,
|
||||||
|
`DateTo` DATETIME(6) NOT NULL
|
||||||
|
);;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_ServerUpdate`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_ServerUpdate`
|
||||||
|
AFTER UPDATE
|
||||||
|
ON `CFG_Server`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_ServerHistory` (`Id`,
|
||||||
|
`MessageDeleteTimer`,
|
||||||
|
`NotificationChatId`,
|
||||||
|
`MaxVoiceStateHours`,
|
||||||
|
`XpPerMessage`,
|
||||||
|
`XpPerReaction`,
|
||||||
|
`MaxMessageXpPerHour`,
|
||||||
|
`XpPerOntimeHour`,
|
||||||
|
`XpPerEventParticipation`,
|
||||||
|
`XpPerAchievement`,
|
||||||
|
`AFKCommandChannelId`,
|
||||||
|
`HelpVoiceChannelId`,
|
||||||
|
`TeamChannelId`,
|
||||||
|
`LoginMessageChannelId`,
|
||||||
|
`DefaultRoleId`,
|
||||||
|
`ShortRoleNameSetOnlyHighest`,
|
||||||
|
`FeatureFlags`,
|
||||||
|
`ServerId`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.MessageDeleteTimer,
|
||||||
|
OLD.NotificationChatId,
|
||||||
|
OLD.MaxVoiceStateHours,
|
||||||
|
OLD.XpPerMessage,
|
||||||
|
OLD.XpPerReaction,
|
||||||
|
OLD.MaxMessageXpPerHour,
|
||||||
|
OLD.XpPerOntimeHour,
|
||||||
|
OLD.XpPerEventParticipation,
|
||||||
|
OLD.XpPerAchievement,
|
||||||
|
OLD.AFKCommandChannelId,
|
||||||
|
OLD.HelpVoiceChannelId,
|
||||||
|
OLD.TeamChannelId,
|
||||||
|
OLD.LoginMessageChannelId,
|
||||||
|
OLD.DefaultRoleId,
|
||||||
|
OLD.ShortRoleNameSetOnlyHighest,
|
||||||
|
OLD.FeatureFlags,
|
||||||
|
OLD.ServerId,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_ServerDelete`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_ServerDelete`
|
||||||
|
AFTER DELETE
|
||||||
|
ON `CFG_Server`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_ServerHistory` (`Id`,
|
||||||
|
`MessageDeleteTimer`,
|
||||||
|
`NotificationChatId`,
|
||||||
|
`MaxVoiceStateHours`,
|
||||||
|
`XpPerMessage`,
|
||||||
|
`XpPerReaction`,
|
||||||
|
`MaxMessageXpPerHour`,
|
||||||
|
`XpPerOntimeHour`,
|
||||||
|
`XpPerEventParticipation`,
|
||||||
|
`XpPerAchievement`,
|
||||||
|
`AFKCommandChannelId`,
|
||||||
|
`HelpVoiceChannelId`,
|
||||||
|
`TeamChannelId`,
|
||||||
|
`LoginMessageChannelId`,
|
||||||
|
`DefaultRoleId`,
|
||||||
|
`ShortRoleNameSetOnlyHighest`,
|
||||||
|
`ServerId`,
|
||||||
|
`FeatureFlags`,
|
||||||
|
`Deleted`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.MessageDeleteTimer,
|
||||||
|
OLD.NotificationChatId,
|
||||||
|
OLD.MaxVoiceStateHours,
|
||||||
|
OLD.XpPerMessage,
|
||||||
|
OLD.XpPerReaction,
|
||||||
|
OLD.MaxMessageXpPerHour,
|
||||||
|
OLD.XpPerOntimeHour,
|
||||||
|
OLD.XpPerEventParticipation,
|
||||||
|
OLD.XpPerAchievement,
|
||||||
|
OLD.AFKCommandChannelId,
|
||||||
|
OLD.HelpVoiceChannelId,
|
||||||
|
OLD.TeamChannelId,
|
||||||
|
OLD.LoginMessageChannelId,
|
||||||
|
OLD.DefaultRoleId,
|
||||||
|
OLD.ShortRoleNameSetOnlyHighest,
|
||||||
|
OLD.FeatureFlags,
|
||||||
|
OLD.ServerId,
|
||||||
|
TRUE,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `CFG_ServerAFKChannelIdsHistory`
|
||||||
|
(
|
||||||
|
`Id` BIGINT(20) NOT NULL,
|
||||||
|
`ChannelId` BIGINT NOT NULL,
|
||||||
|
`ServerId` BIGINT NOT NULL,
|
||||||
|
`Deleted` BOOL DEFAULT FALSE,
|
||||||
|
`DateFrom` DATETIME(6) NOT NULL,
|
||||||
|
`DateTo` DATETIME(6) NOT NULL
|
||||||
|
);;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_ServerAFKChannelIdsUpdate`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_ServerAFKChannelIdsUpdate`
|
||||||
|
AFTER UPDATE
|
||||||
|
ON `CFG_ServerAFKChannelIds`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_ServerAFKChannelIdsHistory` (`Id`,
|
||||||
|
`ChannelId`,
|
||||||
|
`ServerId`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.ChannelId,
|
||||||
|
OLD.ServerId,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_ServerAFKChannelIdsDelete`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_ServerAFKChannelIdsDelete`
|
||||||
|
AFTER DELETE
|
||||||
|
ON `CFG_ServerAFKChannelIds`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_ServerAFKChannelIdsHistory` (`Id`,
|
||||||
|
`ChannelId`,
|
||||||
|
`ServerId`,
|
||||||
|
`Deleted`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.ChannelId,
|
||||||
|
OLD.ServerId,
|
||||||
|
TRUE,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `CFG_ServerTeamRoleIdsHistory`
|
||||||
|
(
|
||||||
|
`Id` BIGINT(20) NOT NULL,
|
||||||
|
`RoleId` BIGINT NOT NULL,
|
||||||
|
`TeamMemberType` ENUM ('Moderator', 'Admin') NOT NULL,
|
||||||
|
`ServerId` BIGINT NOT NULL,
|
||||||
|
`Deleted` BOOL DEFAULT FALSE,
|
||||||
|
`DateFrom` DATETIME(6) NOT NULL,
|
||||||
|
`DateTo` DATETIME(6) NOT NULL
|
||||||
|
);;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_ServerTeamRoleIdsUpdate`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_ServerTeamRoleIdsUpdate`
|
||||||
|
AFTER UPDATE
|
||||||
|
ON `CFG_ServerTeamRoleIds`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_ServerTeamRoleIdsHistory` (`Id`,
|
||||||
|
`RoleId`,
|
||||||
|
`TeamMemberType`,
|
||||||
|
`ServerId`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.RoleId,
|
||||||
|
OLD.TeamMemberType,
|
||||||
|
OLD.ServerId,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_ServerTeamRoleIdsDelete`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_ServerTeamRoleIdsDelete`
|
||||||
|
AFTER DELETE
|
||||||
|
ON `CFG_ServerTeamRoleIds`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_ServerTeamRoleIdsHistory` (`Id`,
|
||||||
|
`RoleId`,
|
||||||
|
`TeamMemberType`,
|
||||||
|
`ServerId`,
|
||||||
|
`Deleted`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.RoleId,
|
||||||
|
OLD.TeamMemberType,
|
||||||
|
OLD.ServerId,
|
||||||
|
TRUE,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `CFG_TechnicianHistory`
|
||||||
|
(
|
||||||
|
`Id` BIGINT(20) NOT NULL,
|
||||||
|
`HelpCommandReferenceUrl` VARCHAR(255) NOT NULL,
|
||||||
|
`WaitForRestart` BIGINT NOT NULL DEFAULT 8,
|
||||||
|
`WaitForShutdown` BIGINT NOT NULL DEFAULT 8,
|
||||||
|
`CacheMaxMessages` BIGINT NOT NULL DEFAULT 1000000,
|
||||||
|
`MaxSteamOfferCount` BIGINT NOT NULL DEFAULT 250,
|
||||||
|
`Maintenance` BOOLEAN DEFAULT FALSE,
|
||||||
|
`FeatureFlags` JSON NULL DEFAULT ('{}'),
|
||||||
|
`Deleted` BOOL DEFAULT FALSE,
|
||||||
|
`DateFrom` DATETIME(6) NOT NULL,
|
||||||
|
`DateTo` DATETIME(6) NOT NULL
|
||||||
|
);;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_TechnicianUpdate`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_TechnicianUpdate`
|
||||||
|
AFTER UPDATE
|
||||||
|
ON `CFG_Technician`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_TechnicianHistory` (`Id`,
|
||||||
|
`HelpCommandReferenceUrl`,
|
||||||
|
`WaitForRestart`,
|
||||||
|
`WaitForShutdown`,
|
||||||
|
`CacheMaxMessages`,
|
||||||
|
`MaxSteamOfferCount`,
|
||||||
|
`Maintenance`,
|
||||||
|
`FeatureFlags`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.HelpCommandReferenceUrl,
|
||||||
|
OLD.WaitForRestart,
|
||||||
|
OLD.WaitForShutdown,
|
||||||
|
OLD.CacheMaxMessages,
|
||||||
|
OLD.MaxSteamOfferCount,
|
||||||
|
OLD.Maintenance,
|
||||||
|
OLD.FeatureFlags,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_TechnicianDelete`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_TechnicianDelete`
|
||||||
|
AFTER DELETE
|
||||||
|
ON `CFG_Technician`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_TechnicianHistory` (`Id`,
|
||||||
|
`HelpCommandReferenceUrl`,
|
||||||
|
`WaitForRestart`,
|
||||||
|
`WaitForShutdown`,
|
||||||
|
`CacheMaxMessages`,
|
||||||
|
`MaxSteamOfferCount`,
|
||||||
|
`Maintenance`,
|
||||||
|
`FeatureFlags`,
|
||||||
|
`Deleted`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.HelpCommandReferenceUrl,
|
||||||
|
OLD.WaitForRestart,
|
||||||
|
OLD.WaitForShutdown,
|
||||||
|
OLD.CacheMaxMessages,
|
||||||
|
OLD.MaxSteamOfferCount,
|
||||||
|
OLD.Maintenance,
|
||||||
|
OLD.FeatureFlags,
|
||||||
|
TRUE,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `CFG_TechnicianIdsHistory`
|
||||||
|
(
|
||||||
|
`Id` BIGINT(20) NOT NULL,
|
||||||
|
`TechnicianId` BIGINT NOT NULL,
|
||||||
|
`Deleted` BOOL DEFAULT FALSE,
|
||||||
|
`DateFrom` DATETIME(6) NOT NULL,
|
||||||
|
`DateTo` DATETIME(6) NOT NULL
|
||||||
|
);;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_TechnicianIdsUpdate`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_TechnicianIdsUpdate`
|
||||||
|
AFTER UPDATE
|
||||||
|
ON `CFG_TechnicianIds`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_TechnicianIdsHistory` (`Id`,
|
||||||
|
`TechnicianId`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.TechnicianId,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_TechnicianIdsDelete`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_TechnicianIdsDelete`
|
||||||
|
AFTER DELETE
|
||||||
|
ON `CFG_TechnicianIds`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_TechnicianIdsHistory` (`Id`,
|
||||||
|
`TechnicianId`,
|
||||||
|
`Deleted`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.TechnicianId,
|
||||||
|
TRUE,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `CFG_TechnicianPingUrlsHistory`
|
||||||
|
(
|
||||||
|
`Id` BIGINT(20) NOT NULL,
|
||||||
|
`URL` VARCHAR(255) NOT NULL,
|
||||||
|
`Deleted` BOOL DEFAULT FALSE,
|
||||||
|
`DateFrom` DATETIME(6) NOT NULL,
|
||||||
|
`DateTo` DATETIME(6) NOT NULL
|
||||||
|
);;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_TechnicianPingUrlsUpdate`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_TechnicianPingUrlsUpdate`
|
||||||
|
AFTER UPDATE
|
||||||
|
ON `CFG_TechnicianPingUrls`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_TechnicianPingUrlsHistory` (`Id`,
|
||||||
|
`URL`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.URL,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_TechnicianPingUrlsDelete`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_TechnicianPingUrlsDelete`
|
||||||
|
AFTER DELETE
|
||||||
|
ON `CFG_TechnicianPingUrls`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_TechnicianPingUrlsHistory` (`Id`,
|
||||||
|
`URL`,
|
||||||
|
`Deleted`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.URL,
|
||||||
|
TRUE,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
@ -0,0 +1,4 @@
|
|||||||
|
ALTER TABLE CFG_Technician DROP COLUMN FeatureFlags;
|
||||||
|
|
||||||
|
ALTER TABLE CFG_Server DROP COLUMN FeatureFlags;
|
||||||
|
|
@ -0,0 +1,6 @@
|
|||||||
|
ALTER TABLE CFG_Technician
|
||||||
|
ADD FeatureFlags JSON NULL DEFAULT ('{}') AFTER CacheMaxMessages;
|
||||||
|
|
||||||
|
ALTER TABLE CFG_Server
|
||||||
|
ADD FeatureFlags JSON NULL DEFAULT ('{}') AFTER LoginMessageChannelId;
|
||||||
|
|
4
bot/src/bot_data/scripts/1.1.3/1_DefaultRole_down.sql
Normal file
4
bot/src/bot_data/scripts/1.1.3/1_DefaultRole_down.sql
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
ALTER TABLE CFG_Server
|
||||||
|
DROP COLUMN DefaultRoleId;
|
||||||
|
|
||||||
|
|
4
bot/src/bot_data/scripts/1.1.3/1_DefaultRole_up.sql
Normal file
4
bot/src/bot_data/scripts/1.1.3/1_DefaultRole_up.sql
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
ALTER TABLE CFG_Server
|
||||||
|
ADD DefaultRoleId BIGINT NULL AFTER LoginMessageChannelId;
|
||||||
|
|
||||||
|
|
4
bot/src/bot_data/scripts/1.1.7/1_ShortRoleName_down.sql
Normal file
4
bot/src/bot_data/scripts/1.1.7/1_ShortRoleName_down.sql
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
DROP TABLE `ShortRoleNames`;
|
||||||
|
|
||||||
|
DROP TABLE `ShortRoleNamesHistory`;
|
||||||
|
|
53
bot/src/bot_data/scripts/1.1.7/1_ShortRoleName_up.sql
Normal file
53
bot/src/bot_data/scripts/1.1.7/1_ShortRoleName_up.sql
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
CREATE TABLE IF NOT EXISTS `ShortRoleNames`
|
||||||
|
(
|
||||||
|
`Id` BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
`ShortName` VARCHAR(255) NOT NULL,
|
||||||
|
`DiscordRoleId` BIGINT NOT NULL,
|
||||||
|
`Position` ENUM ('before', 'after') NOT NULL,
|
||||||
|
`ServerId` BIGINT,
|
||||||
|
`CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||||
|
`LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
|
||||||
|
PRIMARY KEY (`Id`),
|
||||||
|
FOREIGN KEY (`ServerId`) REFERENCES `Servers` (`ServerId`)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `ShortRoleNamesHistory`
|
||||||
|
(
|
||||||
|
`Id` BIGINT(20) NOT NULL,
|
||||||
|
`ShortName` VARCHAR(64) DEFAULT NULL,
|
||||||
|
`DiscordRoleId` BIGINT(20) NOT NULL,
|
||||||
|
`Position` ENUM ('Before', 'After') 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_ShortRoleNamesUpdate`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_ShortRoleNamesUpdate`
|
||||||
|
AFTER UPDATE
|
||||||
|
ON `ShortRoleNames`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `ShortRoleNamesHistory` (`Id`, `ShortName`, `DiscordRoleId`, `Position`, `ServerId`, `DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id, OLD.ShortName, OLD.DiscordRoleId, OLD.Position, OLD.ServerId, OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_ShortRoleNamesDelete`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_ShortRoleNamesDelete`
|
||||||
|
AFTER DELETE
|
||||||
|
ON `ShortRoleNames`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `ShortRoleNamesHistory` (`Id`, `ShortName`, `DiscordRoleId`, `Position`, `ServerId`, `Deleted`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id, OLD.ShortName, OLD.DiscordRoleId, OLD.Position, OLD.ServerId, TRUE, OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
10
bot/src/bot_data/scripts/1.1.7/2_FixUpdates_down.sql
Normal file
10
bot/src/bot_data/scripts/1.1.7/2_FixUpdates_down.sql
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
ALTER TABLE CFG_ServerHistory
|
||||||
|
DROP COLUMN DefaultRoleId;
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE CFG_TechnicianHistory
|
||||||
|
DROP COLUMN FeatureFlags;
|
||||||
|
|
||||||
|
ALTER TABLE CFG_ServerHistory
|
||||||
|
DROP COLUMN FeatureFlags;
|
||||||
|
|
210
bot/src/bot_data/scripts/1.1.7/2_FixUpdates_up.sql
Normal file
210
bot/src/bot_data/scripts/1.1.7/2_FixUpdates_up.sql
Normal file
@ -0,0 +1,210 @@
|
|||||||
|
ALTER TABLE CFG_ServerHistory
|
||||||
|
ADD DefaultRoleId BIGINT NULL AFTER LoginMessageChannelId;
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE CFG_TechnicianHistory
|
||||||
|
ADD FeatureFlags JSON NULL DEFAULT ('{}') AFTER CacheMaxMessages;
|
||||||
|
|
||||||
|
ALTER TABLE CFG_ServerHistory
|
||||||
|
ADD FeatureFlags JSON NULL DEFAULT ('{}') AFTER LoginMessageChannelId;
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `CFG_ServerHistory`
|
||||||
|
(
|
||||||
|
`Id` BIGINT(20) NOT NULL,
|
||||||
|
`MessageDeleteTimer` BIGINT NOT NULL DEFAULT 6,
|
||||||
|
`NotificationChatId` BIGINT NOT NULL,
|
||||||
|
`MaxVoiceStateHours` BIGINT NOT NULL DEFAULT 6,
|
||||||
|
`XpPerMessage` BIGINT NOT NULL DEFAULT 1,
|
||||||
|
`XpPerReaction` BIGINT NOT NULL DEFAULT 1,
|
||||||
|
`MaxMessageXpPerHour` BIGINT NOT NULL DEFAULT 20,
|
||||||
|
`XpPerOntimeHour` BIGINT NOT NULL DEFAULT 10,
|
||||||
|
`XpPerEventParticipation` BIGINT NOT NULL DEFAULT 10,
|
||||||
|
`XpPerAchievement` BIGINT NOT NULL DEFAULT 10,
|
||||||
|
`AFKCommandChannelId` BIGINT NOT NULL,
|
||||||
|
`HelpVoiceChannelId` BIGINT NOT NULL,
|
||||||
|
`TeamChannelId` BIGINT NOT NULL,
|
||||||
|
`LoginMessageChannelId` BIGINT NOT NULL,
|
||||||
|
`DefaultRoleId` BIGINT NULL,
|
||||||
|
`ShortRoleNameSetOnlyHighest` BOOLEAN NOT NULL DEFAULT FALSE,
|
||||||
|
`FeatureFlags` JSON NULL DEFAULT ('{}'),
|
||||||
|
`ServerId` BIGINT NOT NULL,
|
||||||
|
`Deleted` BOOL DEFAULT FALSE,
|
||||||
|
`DateFrom` DATETIME(6) NOT NULL,
|
||||||
|
`DateTo` DATETIME(6) NOT NULL
|
||||||
|
);;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_ServerUpdate`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_ServerUpdate`
|
||||||
|
AFTER UPDATE
|
||||||
|
ON `CFG_Server`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_ServerHistory` (`Id`,
|
||||||
|
`MessageDeleteTimer`,
|
||||||
|
`NotificationChatId`,
|
||||||
|
`MaxVoiceStateHours`,
|
||||||
|
`XpPerMessage`,
|
||||||
|
`XpPerReaction`,
|
||||||
|
`MaxMessageXpPerHour`,
|
||||||
|
`XpPerOntimeHour`,
|
||||||
|
`XpPerEventParticipation`,
|
||||||
|
`XpPerAchievement`,
|
||||||
|
`AFKCommandChannelId`,
|
||||||
|
`HelpVoiceChannelId`,
|
||||||
|
`TeamChannelId`,
|
||||||
|
`LoginMessageChannelId`,
|
||||||
|
`DefaultRoleId`,
|
||||||
|
`ShortRoleNameSetOnlyHighest`,
|
||||||
|
`FeatureFlags`,
|
||||||
|
`ServerId`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.MessageDeleteTimer,
|
||||||
|
OLD.NotificationChatId,
|
||||||
|
OLD.MaxVoiceStateHours,
|
||||||
|
OLD.XpPerMessage,
|
||||||
|
OLD.XpPerReaction,
|
||||||
|
OLD.MaxMessageXpPerHour,
|
||||||
|
OLD.XpPerOntimeHour,
|
||||||
|
OLD.XpPerEventParticipation,
|
||||||
|
OLD.XpPerAchievement,
|
||||||
|
OLD.AFKCommandChannelId,
|
||||||
|
OLD.HelpVoiceChannelId,
|
||||||
|
OLD.TeamChannelId,
|
||||||
|
OLD.LoginMessageChannelId,
|
||||||
|
OLD.DefaultRoleId,
|
||||||
|
OLD.ShortRoleNameSetOnlyHighest,
|
||||||
|
OLD.FeatureFlags,
|
||||||
|
OLD.ServerId,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_ServerDelete`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_ServerDelete`
|
||||||
|
AFTER DELETE
|
||||||
|
ON `CFG_Server`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_ServerHistory` (`Id`,
|
||||||
|
`MessageDeleteTimer`,
|
||||||
|
`NotificationChatId`,
|
||||||
|
`MaxVoiceStateHours`,
|
||||||
|
`XpPerMessage`,
|
||||||
|
`XpPerReaction`,
|
||||||
|
`MaxMessageXpPerHour`,
|
||||||
|
`XpPerOntimeHour`,
|
||||||
|
`XpPerEventParticipation`,
|
||||||
|
`XpPerAchievement`,
|
||||||
|
`AFKCommandChannelId`,
|
||||||
|
`HelpVoiceChannelId`,
|
||||||
|
`TeamChannelId`,
|
||||||
|
`LoginMessageChannelId`,
|
||||||
|
`DefaultRoleId`,
|
||||||
|
`ShortRoleNameSetOnlyHighest`,
|
||||||
|
`ServerId`,
|
||||||
|
`FeatureFlags`,
|
||||||
|
`Deleted`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.MessageDeleteTimer,
|
||||||
|
OLD.NotificationChatId,
|
||||||
|
OLD.MaxVoiceStateHours,
|
||||||
|
OLD.XpPerMessage,
|
||||||
|
OLD.XpPerReaction,
|
||||||
|
OLD.MaxMessageXpPerHour,
|
||||||
|
OLD.XpPerOntimeHour,
|
||||||
|
OLD.XpPerEventParticipation,
|
||||||
|
OLD.XpPerAchievement,
|
||||||
|
OLD.AFKCommandChannelId,
|
||||||
|
OLD.HelpVoiceChannelId,
|
||||||
|
OLD.TeamChannelId,
|
||||||
|
OLD.LoginMessageChannelId,
|
||||||
|
OLD.DefaultRoleId,
|
||||||
|
OLD.ShortRoleNameSetOnlyHighest,
|
||||||
|
OLD.FeatureFlags,
|
||||||
|
OLD.ServerId,
|
||||||
|
TRUE,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `CFG_TechnicianHistory`
|
||||||
|
(
|
||||||
|
`Id` BIGINT(20) NOT NULL,
|
||||||
|
`HelpCommandReferenceUrl` VARCHAR(255) NOT NULL,
|
||||||
|
`WaitForRestart` BIGINT NOT NULL DEFAULT 8,
|
||||||
|
`WaitForShutdown` BIGINT NOT NULL DEFAULT 8,
|
||||||
|
`CacheMaxMessages` BIGINT NOT NULL DEFAULT 1000000,
|
||||||
|
`MaxSteamOfferCount` BIGINT NOT NULL DEFAULT 250,
|
||||||
|
`Maintenance` BOOLEAN DEFAULT FALSE,
|
||||||
|
`FeatureFlags` JSON NULL DEFAULT ('{}'),
|
||||||
|
`Deleted` BOOL DEFAULT FALSE,
|
||||||
|
`DateFrom` DATETIME(6) NOT NULL,
|
||||||
|
`DateTo` DATETIME(6) NOT NULL
|
||||||
|
);;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_TechnicianUpdate`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_TechnicianUpdate`
|
||||||
|
AFTER UPDATE
|
||||||
|
ON `CFG_Technician`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_TechnicianHistory` (`Id`,
|
||||||
|
`HelpCommandReferenceUrl`,
|
||||||
|
`WaitForRestart`,
|
||||||
|
`WaitForShutdown`,
|
||||||
|
`CacheMaxMessages`,
|
||||||
|
`MaxSteamOfferCount`,
|
||||||
|
`Maintenance`,
|
||||||
|
`FeatureFlags`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.HelpCommandReferenceUrl,
|
||||||
|
OLD.WaitForRestart,
|
||||||
|
OLD.WaitForShutdown,
|
||||||
|
OLD.CacheMaxMessages,
|
||||||
|
OLD.MaxSteamOfferCount,
|
||||||
|
OLD.Maintenance,
|
||||||
|
OLD.FeatureFlags,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_TechnicianDelete`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_TechnicianDelete`
|
||||||
|
AFTER DELETE
|
||||||
|
ON `CFG_Technician`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_TechnicianHistory` (`Id`,
|
||||||
|
`HelpCommandReferenceUrl`,
|
||||||
|
`WaitForRestart`,
|
||||||
|
`WaitForShutdown`,
|
||||||
|
`CacheMaxMessages`,
|
||||||
|
`MaxSteamOfferCount`,
|
||||||
|
`Maintenance`,
|
||||||
|
`FeatureFlags`,
|
||||||
|
`Deleted`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.HelpCommandReferenceUrl,
|
||||||
|
OLD.WaitForRestart,
|
||||||
|
OLD.WaitForShutdown,
|
||||||
|
OLD.CacheMaxMessages,
|
||||||
|
OLD.MaxSteamOfferCount,
|
||||||
|
OLD.Maintenance,
|
||||||
|
OLD.FeatureFlags,
|
||||||
|
TRUE,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
@ -0,0 +1,9 @@
|
|||||||
|
ALTER TABLE CFG_Server
|
||||||
|
DROP COLUMN ShortRoleNameSetOnlyHighest;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE CFG_ServerHistory
|
||||||
|
DROP COLUMN ShortRoleNameSetOnlyHighest;
|
||||||
|
|
||||||
|
|
134
bot/src/bot_data/scripts/1.1.9/1_ShortRoleNameOnlyHighest_up.sql
Normal file
134
bot/src/bot_data/scripts/1.1.9/1_ShortRoleNameOnlyHighest_up.sql
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
ALTER TABLE CFG_Server
|
||||||
|
ADD ShortRoleNameSetOnlyHighest BOOLEAN NOT NULL DEFAULT FALSE AFTER DefaultRoleId;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE CFG_ServerHistory
|
||||||
|
ADD ShortRoleNameSetOnlyHighest BOOLEAN NOT NULL DEFAULT FALSE AFTER DefaultRoleId;
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `CFG_ServerHistory`
|
||||||
|
(
|
||||||
|
`Id` BIGINT(20) NOT NULL,
|
||||||
|
`MessageDeleteTimer` BIGINT NOT NULL DEFAULT 6,
|
||||||
|
`NotificationChatId` BIGINT NOT NULL,
|
||||||
|
`MaxVoiceStateHours` BIGINT NOT NULL DEFAULT 6,
|
||||||
|
`XpPerMessage` BIGINT NOT NULL DEFAULT 1,
|
||||||
|
`XpPerReaction` BIGINT NOT NULL DEFAULT 1,
|
||||||
|
`MaxMessageXpPerHour` BIGINT NOT NULL DEFAULT 20,
|
||||||
|
`XpPerOntimeHour` BIGINT NOT NULL DEFAULT 10,
|
||||||
|
`XpPerEventParticipation` BIGINT NOT NULL DEFAULT 10,
|
||||||
|
`XpPerAchievement` BIGINT NOT NULL DEFAULT 10,
|
||||||
|
`AFKCommandChannelId` BIGINT NOT NULL,
|
||||||
|
`HelpVoiceChannelId` BIGINT NOT NULL,
|
||||||
|
`TeamChannelId` BIGINT NOT NULL,
|
||||||
|
`LoginMessageChannelId` BIGINT NOT NULL,
|
||||||
|
`DefaultRoleId` BIGINT NULL,
|
||||||
|
`ShortRoleNameSetOnlyHighest` BOOLEAN NOT NULL DEFAULT FALSE,
|
||||||
|
`FeatureFlags` JSON NULL DEFAULT ('{}'),
|
||||||
|
`ServerId` BIGINT NOT NULL,
|
||||||
|
`Deleted` BOOL DEFAULT FALSE,
|
||||||
|
`DateFrom` DATETIME(6) NOT NULL,
|
||||||
|
`DateTo` DATETIME(6) NOT NULL
|
||||||
|
);;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_ServerUpdate`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_ServerUpdate`
|
||||||
|
AFTER UPDATE
|
||||||
|
ON `CFG_Server`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_ServerHistory` (`Id`,
|
||||||
|
`MessageDeleteTimer`,
|
||||||
|
`NotificationChatId`,
|
||||||
|
`MaxVoiceStateHours`,
|
||||||
|
`XpPerMessage`,
|
||||||
|
`XpPerReaction`,
|
||||||
|
`MaxMessageXpPerHour`,
|
||||||
|
`XpPerOntimeHour`,
|
||||||
|
`XpPerEventParticipation`,
|
||||||
|
`XpPerAchievement`,
|
||||||
|
`AFKCommandChannelId`,
|
||||||
|
`HelpVoiceChannelId`,
|
||||||
|
`TeamChannelId`,
|
||||||
|
`LoginMessageChannelId`,
|
||||||
|
`DefaultRoleId`,
|
||||||
|
`ShortRoleNameSetOnlyHighest`,
|
||||||
|
`FeatureFlags`,
|
||||||
|
`ServerId`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.MessageDeleteTimer,
|
||||||
|
OLD.NotificationChatId,
|
||||||
|
OLD.MaxVoiceStateHours,
|
||||||
|
OLD.XpPerMessage,
|
||||||
|
OLD.XpPerReaction,
|
||||||
|
OLD.MaxMessageXpPerHour,
|
||||||
|
OLD.XpPerOntimeHour,
|
||||||
|
OLD.XpPerEventParticipation,
|
||||||
|
OLD.XpPerAchievement,
|
||||||
|
OLD.AFKCommandChannelId,
|
||||||
|
OLD.HelpVoiceChannelId,
|
||||||
|
OLD.TeamChannelId,
|
||||||
|
OLD.LoginMessageChannelId,
|
||||||
|
OLD.DefaultRoleId,
|
||||||
|
OLD.ShortRoleNameSetOnlyHighest,
|
||||||
|
OLD.FeatureFlags,
|
||||||
|
OLD.ServerId,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_ServerDelete`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_ServerDelete`
|
||||||
|
AFTER DELETE
|
||||||
|
ON `CFG_Server`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_ServerHistory` (`Id`,
|
||||||
|
`MessageDeleteTimer`,
|
||||||
|
`NotificationChatId`,
|
||||||
|
`MaxVoiceStateHours`,
|
||||||
|
`XpPerMessage`,
|
||||||
|
`XpPerReaction`,
|
||||||
|
`MaxMessageXpPerHour`,
|
||||||
|
`XpPerOntimeHour`,
|
||||||
|
`XpPerEventParticipation`,
|
||||||
|
`XpPerAchievement`,
|
||||||
|
`AFKCommandChannelId`,
|
||||||
|
`HelpVoiceChannelId`,
|
||||||
|
`TeamChannelId`,
|
||||||
|
`LoginMessageChannelId`,
|
||||||
|
`DefaultRoleId`,
|
||||||
|
`ShortRoleNameSetOnlyHighest`,
|
||||||
|
`ServerId`,
|
||||||
|
`FeatureFlags`,
|
||||||
|
`Deleted`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.MessageDeleteTimer,
|
||||||
|
OLD.NotificationChatId,
|
||||||
|
OLD.MaxVoiceStateHours,
|
||||||
|
OLD.XpPerMessage,
|
||||||
|
OLD.XpPerReaction,
|
||||||
|
OLD.MaxMessageXpPerHour,
|
||||||
|
OLD.XpPerOntimeHour,
|
||||||
|
OLD.XpPerEventParticipation,
|
||||||
|
OLD.XpPerAchievement,
|
||||||
|
OLD.AFKCommandChannelId,
|
||||||
|
OLD.HelpVoiceChannelId,
|
||||||
|
OLD.TeamChannelId,
|
||||||
|
OLD.LoginMessageChannelId,
|
||||||
|
OLD.DefaultRoleId,
|
||||||
|
OLD.ShortRoleNameSetOnlyHighest,
|
||||||
|
OLD.FeatureFlags,
|
||||||
|
OLD.ServerId,
|
||||||
|
TRUE,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
9
bot/src/bot_data/scripts/1.2.0/1_FixUserHistory_down.sql
Normal file
9
bot/src/bot_data/scripts/1.2.0/1_FixUserHistory_down.sql
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
ALTER TABLE UsersHistory
|
||||||
|
DROP COLUMN MessageCount;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE UsersHistory
|
||||||
|
DROP COLUMN ReactionCount;
|
||||||
|
|
||||||
|
|
52
bot/src/bot_data/scripts/1.2.0/1_FixUserHistory_up.sql
Normal file
52
bot/src/bot_data/scripts/1.2.0/1_FixUserHistory_up.sql
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
ALTER TABLE UsersHistory
|
||||||
|
ADD COLUMN ReactionCount BIGINT NOT NULL DEFAULT 0 AFTER XP;
|
||||||
|
|
||||||
|
ALTER TABLE UsersHistory
|
||||||
|
ADD COLUMN MessageCount BIGINT NOT NULL DEFAULT 0 AFTER ReactionCount;
|
||||||
|
|
||||||
|
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;;
|
||||||
|
|
19
bot/src/bot_data/scripts/1.2.0/2_Birthday_down.sql
Normal file
19
bot/src/bot_data/scripts/1.2.0/2_Birthday_down.sql
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
ALTER TABLE Users
|
||||||
|
DROP COLUMN Birthday;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE UsersHistory
|
||||||
|
DROP COLUMN Birthday;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE CFG_Server
|
||||||
|
DROP COLUMN XpForBirthday;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE CFG_ServerHistory
|
||||||
|
DROP COLUMN XpForBirthday;
|
||||||
|
|
||||||
|
|
190
bot/src/bot_data/scripts/1.2.0/2_Birthday_up.sql
Normal file
190
bot/src/bot_data/scripts/1.2.0/2_Birthday_up.sql
Normal file
@ -0,0 +1,190 @@
|
|||||||
|
ALTER TABLE Users
|
||||||
|
ADD Birthday DATE NULL AFTER MessageCount;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE UsersHistory
|
||||||
|
ADD Birthday DATE NULL AFTER MessageCount;
|
||||||
|
|
||||||
|
|
||||||
|
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 CFG_Server
|
||||||
|
ADD XpForBirthday BIGINT(20) NOT NULL DEFAULT 0 AFTER XpPerAchievement;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE CFG_ServerHistory
|
||||||
|
ADD XpForBirthday BIGINT(20) NOT NULL DEFAULT 0 AFTER XpPerAchievement;
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `CFG_ServerHistory`
|
||||||
|
(
|
||||||
|
`Id` BIGINT(20) NOT NULL,
|
||||||
|
`MessageDeleteTimer` BIGINT NOT NULL DEFAULT 6,
|
||||||
|
`NotificationChatId` BIGINT NOT NULL,
|
||||||
|
`MaxVoiceStateHours` BIGINT NOT NULL DEFAULT 6,
|
||||||
|
`XpPerMessage` BIGINT NOT NULL DEFAULT 1,
|
||||||
|
`XpPerReaction` BIGINT NOT NULL DEFAULT 1,
|
||||||
|
`MaxMessageXpPerHour` BIGINT NOT NULL DEFAULT 20,
|
||||||
|
`XpPerOntimeHour` BIGINT NOT NULL DEFAULT 10,
|
||||||
|
`XpPerEventParticipation` BIGINT NOT NULL DEFAULT 10,
|
||||||
|
`XpPerAchievement` BIGINT NOT NULL DEFAULT 10,
|
||||||
|
`AFKCommandChannelId` BIGINT NOT NULL,
|
||||||
|
`HelpVoiceChannelId` BIGINT NOT NULL,
|
||||||
|
`TeamChannelId` BIGINT NOT NULL,
|
||||||
|
`LoginMessageChannelId` BIGINT NOT NULL,
|
||||||
|
`DefaultRoleId` BIGINT NULL,
|
||||||
|
`ShortRoleNameSetOnlyHighest` BOOLEAN NOT NULL DEFAULT FALSE,
|
||||||
|
`FeatureFlags` JSON NULL DEFAULT ('{}'),
|
||||||
|
`ServerId` BIGINT NOT NULL,
|
||||||
|
`Deleted` BOOL DEFAULT FALSE,
|
||||||
|
`DateFrom` DATETIME(6) NOT NULL,
|
||||||
|
`DateTo` DATETIME(6) NOT NULL
|
||||||
|
);;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_ServerUpdate`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_ServerUpdate`
|
||||||
|
AFTER UPDATE
|
||||||
|
ON `CFG_Server`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_ServerHistory` (`Id`,
|
||||||
|
`MessageDeleteTimer`,
|
||||||
|
`NotificationChatId`,
|
||||||
|
`MaxVoiceStateHours`,
|
||||||
|
`XpPerMessage`,
|
||||||
|
`XpPerReaction`,
|
||||||
|
`MaxMessageXpPerHour`,
|
||||||
|
`XpPerOntimeHour`,
|
||||||
|
`XpPerEventParticipation`,
|
||||||
|
`XpPerAchievement`,
|
||||||
|
`AFKCommandChannelId`,
|
||||||
|
`HelpVoiceChannelId`,
|
||||||
|
`TeamChannelId`,
|
||||||
|
`LoginMessageChannelId`,
|
||||||
|
`DefaultRoleId`,
|
||||||
|
`ShortRoleNameSetOnlyHighest`,
|
||||||
|
`FeatureFlags`,
|
||||||
|
`ServerId`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.MessageDeleteTimer,
|
||||||
|
OLD.NotificationChatId,
|
||||||
|
OLD.MaxVoiceStateHours,
|
||||||
|
OLD.XpPerMessage,
|
||||||
|
OLD.XpPerReaction,
|
||||||
|
OLD.MaxMessageXpPerHour,
|
||||||
|
OLD.XpPerOntimeHour,
|
||||||
|
OLD.XpPerEventParticipation,
|
||||||
|
OLD.XpPerAchievement,
|
||||||
|
OLD.AFKCommandChannelId,
|
||||||
|
OLD.HelpVoiceChannelId,
|
||||||
|
OLD.TeamChannelId,
|
||||||
|
OLD.LoginMessageChannelId,
|
||||||
|
OLD.DefaultRoleId,
|
||||||
|
OLD.ShortRoleNameSetOnlyHighest,
|
||||||
|
OLD.FeatureFlags,
|
||||||
|
OLD.ServerId,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_ServerDelete`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_ServerDelete`
|
||||||
|
AFTER DELETE
|
||||||
|
ON `CFG_Server`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_ServerHistory` (`Id`,
|
||||||
|
`MessageDeleteTimer`,
|
||||||
|
`NotificationChatId`,
|
||||||
|
`MaxVoiceStateHours`,
|
||||||
|
`XpPerMessage`,
|
||||||
|
`XpPerReaction`,
|
||||||
|
`MaxMessageXpPerHour`,
|
||||||
|
`XpPerOntimeHour`,
|
||||||
|
`XpPerEventParticipation`,
|
||||||
|
`XpPerAchievement`,
|
||||||
|
`AFKCommandChannelId`,
|
||||||
|
`HelpVoiceChannelId`,
|
||||||
|
`TeamChannelId`,
|
||||||
|
`LoginMessageChannelId`,
|
||||||
|
`DefaultRoleId`,
|
||||||
|
`ShortRoleNameSetOnlyHighest`,
|
||||||
|
`ServerId`,
|
||||||
|
`FeatureFlags`,
|
||||||
|
`Deleted`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.MessageDeleteTimer,
|
||||||
|
OLD.NotificationChatId,
|
||||||
|
OLD.MaxVoiceStateHours,
|
||||||
|
OLD.XpPerMessage,
|
||||||
|
OLD.XpPerReaction,
|
||||||
|
OLD.MaxMessageXpPerHour,
|
||||||
|
OLD.XpPerOntimeHour,
|
||||||
|
OLD.XpPerEventParticipation,
|
||||||
|
OLD.XpPerAchievement,
|
||||||
|
OLD.AFKCommandChannelId,
|
||||||
|
OLD.HelpVoiceChannelId,
|
||||||
|
OLD.TeamChannelId,
|
||||||
|
OLD.LoginMessageChannelId,
|
||||||
|
OLD.DefaultRoleId,
|
||||||
|
OLD.ShortRoleNameSetOnlyHighest,
|
||||||
|
OLD.FeatureFlags,
|
||||||
|
OLD.ServerId,
|
||||||
|
TRUE,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
12
bot/src/bot_data/scripts/1.2.0/3_SteamSpecialOffer_down.sql
Normal file
12
bot/src/bot_data/scripts/1.2.0/3_SteamSpecialOffer_down.sql
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
DROP TABLE `SteamSpecialOffers`;
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE CFG_Server
|
||||||
|
DROP COLUMN ShortRoleNameSetOnlyHighest;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE CFG_ServerHistory
|
||||||
|
DROP COLUMN ShortRoleNameSetOnlyHighest;
|
||||||
|
|
||||||
|
|
23
bot/src/bot_data/scripts/1.2.0/3_SteamSpecialOffer_up.sql
Normal file
23
bot/src/bot_data/scripts/1.2.0/3_SteamSpecialOffer_up.sql
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
CREATE TABLE IF NOT EXISTS `SteamSpecialOffers`
|
||||||
|
(
|
||||||
|
`Id` BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
`Game` VARCHAR(255) NOT NULL,
|
||||||
|
`OriginalPrice` FLOAT NOT NULL,
|
||||||
|
`DiscountPrice` FLOAT NOT NULL,
|
||||||
|
`DiscountPct` BIGINT NOT NULL,
|
||||||
|
`CreatedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||||
|
`LastModifiedAt` DATETIME(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
|
||||||
|
PRIMARY KEY (`Id`)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE CFG_Server
|
||||||
|
ADD COLUMN GameOfferNotificationChatId BIGINT NULL AFTER ShortRoleNameSetOnlyHighest;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE CFG_ServerHistory
|
||||||
|
ADD COLUMN GameOfferNotificationChatId BIGINT NULL AFTER ShortRoleNameSetOnlyHighest;
|
||||||
|
|
||||||
|
|
@ -0,0 +1,9 @@
|
|||||||
|
ALTER TABLE CFG_Technician
|
||||||
|
DROP COLUMN MaxSteamOfferCount;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE CFG_TechnicianHistory
|
||||||
|
DROP COLUMN MaxSteamOfferCount;
|
||||||
|
|
||||||
|
|
84
bot/src/bot_data/scripts/1.2.0/4_MaxSteamOfferCount_up.sql
Normal file
84
bot/src/bot_data/scripts/1.2.0/4_MaxSteamOfferCount_up.sql
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
ALTER TABLE CFG_Technician
|
||||||
|
ADD MaxSteamOfferCount BIGINT NOT NULL DEFAULT 250 AFTER CacheMaxMessages;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE CFG_TechnicianHistory
|
||||||
|
ADD MaxSteamOfferCount BIGINT NOT NULL DEFAULT 250 AFTER CacheMaxMessages;
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `CFG_TechnicianHistory`
|
||||||
|
(
|
||||||
|
`Id` BIGINT(20) NOT NULL,
|
||||||
|
`HelpCommandReferenceUrl` VARCHAR(255) NOT NULL,
|
||||||
|
`WaitForRestart` BIGINT NOT NULL DEFAULT 8,
|
||||||
|
`WaitForShutdown` BIGINT NOT NULL DEFAULT 8,
|
||||||
|
`CacheMaxMessages` BIGINT NOT NULL DEFAULT 1000000,
|
||||||
|
`MaxSteamOfferCount` BIGINT NOT NULL DEFAULT 250,
|
||||||
|
`Maintenance` BOOLEAN DEFAULT FALSE,
|
||||||
|
`FeatureFlags` JSON NULL DEFAULT ('{}'),
|
||||||
|
`Deleted` BOOL DEFAULT FALSE,
|
||||||
|
`DateFrom` DATETIME(6) NOT NULL,
|
||||||
|
`DateTo` DATETIME(6) NOT NULL
|
||||||
|
);;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_TechnicianUpdate`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_TechnicianUpdate`
|
||||||
|
AFTER UPDATE
|
||||||
|
ON `CFG_Technician`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_TechnicianHistory` (`Id`,
|
||||||
|
`HelpCommandReferenceUrl`,
|
||||||
|
`WaitForRestart`,
|
||||||
|
`WaitForShutdown`,
|
||||||
|
`CacheMaxMessages`,
|
||||||
|
`MaxSteamOfferCount`,
|
||||||
|
`Maintenance`,
|
||||||
|
`FeatureFlags`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.HelpCommandReferenceUrl,
|
||||||
|
OLD.WaitForRestart,
|
||||||
|
OLD.WaitForShutdown,
|
||||||
|
OLD.CacheMaxMessages,
|
||||||
|
OLD.MaxSteamOfferCount,
|
||||||
|
OLD.Maintenance,
|
||||||
|
OLD.FeatureFlags,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_TechnicianDelete`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_TechnicianDelete`
|
||||||
|
AFTER DELETE
|
||||||
|
ON `CFG_Technician`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_TechnicianHistory` (`Id`,
|
||||||
|
`HelpCommandReferenceUrl`,
|
||||||
|
`WaitForRestart`,
|
||||||
|
`WaitForShutdown`,
|
||||||
|
`CacheMaxMessages`,
|
||||||
|
`MaxSteamOfferCount`,
|
||||||
|
`Maintenance`,
|
||||||
|
`FeatureFlags`,
|
||||||
|
`Deleted`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.HelpCommandReferenceUrl,
|
||||||
|
OLD.WaitForRestart,
|
||||||
|
OLD.WaitForShutdown,
|
||||||
|
OLD.CacheMaxMessages,
|
||||||
|
OLD.MaxSteamOfferCount,
|
||||||
|
OLD.Maintenance,
|
||||||
|
OLD.FeatureFlags,
|
||||||
|
TRUE,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
@ -0,0 +1,9 @@
|
|||||||
|
ALTER TABLE CFG_Technician
|
||||||
|
DROP COLUMN Maintenance;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE CFG_TechnicianHistory
|
||||||
|
DROP COLUMN Maintenance;
|
||||||
|
|
||||||
|
|
84
bot/src/bot_data/scripts/1.2.0/5_MaintenanceMode_up.sql
Normal file
84
bot/src/bot_data/scripts/1.2.0/5_MaintenanceMode_up.sql
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
ALTER TABLE CFG_Technician
|
||||||
|
ADD Maintenance BOOLEAN DEFAULT FALSE AFTER MaxSteamOfferCount;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE CFG_TechnicianHistory
|
||||||
|
ADD Maintenance BOOLEAN DEFAULT FALSE AFTER MaxSteamOfferCount;
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `CFG_TechnicianHistory`
|
||||||
|
(
|
||||||
|
`Id` BIGINT(20) NOT NULL,
|
||||||
|
`HelpCommandReferenceUrl` VARCHAR(255) NOT NULL,
|
||||||
|
`WaitForRestart` BIGINT NOT NULL DEFAULT 8,
|
||||||
|
`WaitForShutdown` BIGINT NOT NULL DEFAULT 8,
|
||||||
|
`CacheMaxMessages` BIGINT NOT NULL DEFAULT 1000000,
|
||||||
|
`MaxSteamOfferCount` BIGINT NOT NULL DEFAULT 250,
|
||||||
|
`Maintenance` BOOLEAN DEFAULT FALSE,
|
||||||
|
`FeatureFlags` JSON NULL DEFAULT ('{}'),
|
||||||
|
`Deleted` BOOL DEFAULT FALSE,
|
||||||
|
`DateFrom` DATETIME(6) NOT NULL,
|
||||||
|
`DateTo` DATETIME(6) NOT NULL
|
||||||
|
);;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_TechnicianUpdate`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_TechnicianUpdate`
|
||||||
|
AFTER UPDATE
|
||||||
|
ON `CFG_Technician`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_TechnicianHistory` (`Id`,
|
||||||
|
`HelpCommandReferenceUrl`,
|
||||||
|
`WaitForRestart`,
|
||||||
|
`WaitForShutdown`,
|
||||||
|
`CacheMaxMessages`,
|
||||||
|
`MaxSteamOfferCount`,
|
||||||
|
`Maintenance`,
|
||||||
|
`FeatureFlags`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.HelpCommandReferenceUrl,
|
||||||
|
OLD.WaitForRestart,
|
||||||
|
OLD.WaitForShutdown,
|
||||||
|
OLD.CacheMaxMessages,
|
||||||
|
OLD.MaxSteamOfferCount,
|
||||||
|
OLD.Maintenance,
|
||||||
|
OLD.FeatureFlags,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS `TR_CFG_TechnicianDelete`;;
|
||||||
|
|
||||||
|
CREATE TRIGGER `TR_CFG_TechnicianDelete`
|
||||||
|
AFTER DELETE
|
||||||
|
ON `CFG_Technician`
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO `CFG_TechnicianHistory` (`Id`,
|
||||||
|
`HelpCommandReferenceUrl`,
|
||||||
|
`WaitForRestart`,
|
||||||
|
`WaitForShutdown`,
|
||||||
|
`CacheMaxMessages`,
|
||||||
|
`MaxSteamOfferCount`,
|
||||||
|
`Maintenance`,
|
||||||
|
`FeatureFlags`,
|
||||||
|
`Deleted`,
|
||||||
|
`DateFrom`,
|
||||||
|
`DateTo`)
|
||||||
|
VALUES (OLD.Id,
|
||||||
|
OLD.HelpCommandReferenceUrl,
|
||||||
|
OLD.WaitForRestart,
|
||||||
|
OLD.WaitForShutdown,
|
||||||
|
OLD.CacheMaxMessages,
|
||||||
|
OLD.MaxSteamOfferCount,
|
||||||
|
OLD.Maintenance,
|
||||||
|
OLD.FeatureFlags,
|
||||||
|
TRUE,
|
||||||
|
OLD.LastModifiedAt,
|
||||||
|
CURRENT_TIMESTAMP(6));
|
||||||
|
END;;
|
||||||
|
|
@ -1,3 +1,6 @@
|
|||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
|
||||||
from cpl_core.console import Console
|
from cpl_core.console import Console
|
||||||
from cpl_core.dependency_injection import ServiceProviderABC
|
from cpl_core.dependency_injection import ServiceProviderABC
|
||||||
from cpl_query.extension import List
|
from cpl_query.extension import List
|
||||||
@ -18,24 +21,31 @@ class MigrationService:
|
|||||||
self._db = db
|
self._db = db
|
||||||
self._cursor = db.cursor
|
self._cursor = db.cursor
|
||||||
|
|
||||||
self._migrations: List[MigrationABC] = (
|
# self._migrations: List[MigrationABC] = (
|
||||||
List(type, MigrationABC.__subclasses__()).order_by(lambda x: x.name.split("_")[0]).then_by(lambda x: x.prio)
|
# List(type, MigrationABC.__subclasses__()).order_by(lambda x: x.name.split("_")[0]).then_by(lambda x: x.prio)
|
||||||
)
|
# )
|
||||||
|
|
||||||
def migrate(self):
|
def migrate(self):
|
||||||
for migration in self._migrations:
|
path = f"../../src/bot_data/scripts"
|
||||||
migration_id = migration.__name__
|
if not os.path.exists(path):
|
||||||
|
os.makedirs(path)
|
||||||
|
else:
|
||||||
|
shutil.rmtree(path)
|
||||||
|
os.makedirs(path)
|
||||||
|
|
||||||
|
for migration in self._services.get_services(MigrationABC):
|
||||||
|
migration_id = type(migration).__name__
|
||||||
try:
|
try:
|
||||||
migration_as_service: MigrationABC = self._services.get_service(migration)
|
# migration_as_service: MigrationABC = self._services.get_service(migration)
|
||||||
# save upgrade scripts
|
# save upgrade scripts
|
||||||
self._db.set_migration(migration_as_service.name, True)
|
self._db.set_migration(migration.name, True)
|
||||||
migration_as_service.upgrade()
|
migration.upgrade()
|
||||||
self._cursor.execute(MigrationHistory(migration_id).insert_string)
|
self._cursor.execute(MigrationHistory(migration_id).insert_string)
|
||||||
self._db.save_changes()
|
self._db.save_changes()
|
||||||
|
|
||||||
# save downgrade scripts
|
# save downgrade scripts
|
||||||
self._db.set_migration(migration_as_service.name)
|
self._db.set_migration(migration.name)
|
||||||
migration_as_service.downgrade()
|
migration.downgrade()
|
||||||
self._cursor.execute(MigrationHistory(migration_id).insert_string)
|
self._cursor.execute(MigrationHistory(migration_id).insert_string)
|
||||||
self._db.save_changes()
|
self._db.save_changes()
|
||||||
|
|
||||||
|
@ -15,6 +15,11 @@ class MockDBContext(DatabaseContextABC):
|
|||||||
self._migration_name: Optional[str] = None
|
self._migration_name: Optional[str] = None
|
||||||
self._migration_script: Optional[str] = None
|
self._migration_script: Optional[str] = None
|
||||||
|
|
||||||
|
self._old_version: Optional[str] = None
|
||||||
|
self._old_name: Optional[str] = None
|
||||||
|
|
||||||
|
self._index: int = 0
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def cursor(self) -> MockCursor:
|
def cursor(self) -> MockCursor:
|
||||||
cursor = MockCursor()
|
cursor = MockCursor()
|
||||||
@ -43,11 +48,25 @@ class MockDBContext(DatabaseContextABC):
|
|||||||
if not os.path.exists(path):
|
if not os.path.exists(path):
|
||||||
os.makedirs(path)
|
os.makedirs(path)
|
||||||
|
|
||||||
|
if (
|
||||||
|
self._old_name is not None
|
||||||
|
and self._migration_name is not None
|
||||||
|
and self._old_name.split("_")[0] == self._migration_name.split("_")[0]
|
||||||
|
):
|
||||||
|
pass
|
||||||
|
elif self._old_version == self._migration_version:
|
||||||
|
self._index += 1
|
||||||
|
else:
|
||||||
|
self._index = 1
|
||||||
|
|
||||||
script = textwrap.dedent(self._migration_script)
|
script = textwrap.dedent(self._migration_script)
|
||||||
with open(f"{path}/{self._migration_name}.sql", "w+") as f:
|
with open(f"{path}/{self._index}_{self._migration_name}.sql", "w+") as f:
|
||||||
f.write(script)
|
f.write(script)
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
|
self._old_version = self._migration_version
|
||||||
|
self._old_name = self._migration_name
|
||||||
|
|
||||||
self._migration_name = None
|
self._migration_name = None
|
||||||
self._migration_version = None
|
self._migration_version = None
|
||||||
self._migration_script = None
|
self._migration_script = None
|
||||||
|
Loading…
Reference in New Issue
Block a user