diff --git a/bot/src/bot_data/migration/__init__.py b/bot/src/bot_data/migration/__init__.py deleted file mode 100644 index c8b32e03..00000000 --- a/bot/src/bot_data/migration/__init__.py +++ /dev/null @@ -1,26 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -bot sh-edraft.de Discord bot -~~~~~~~~~~~~~~~~~~~ - -Discord bot for customers of sh-edraft.de - -:copyright: (c) 2022 - 2023 sh-edraft.de -:license: MIT, see LICENSE for more details. - -""" - -__title__ = "bot_data.migration" -__author__ = "Sven Heidemann" -__license__ = "MIT" -__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" -__version__ = "1.2.1" - -from collections import namedtuple - - -# imports - -VersionInfo = namedtuple("VersionInfo", "major minor micro") -version_info = VersionInfo(major="1", minor="2", micro="1") diff --git a/bot/src/bot_data/migration/achievements_migration.py b/bot/src/bot_data/migration/achievements_migration.py deleted file mode 100644 index f3a454d3..00000000 --- a/bot/src/bot_data/migration/achievements_migration.py +++ /dev/null @@ -1,127 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class AchievementsMigration(MigrationABC): - name = "1.1.0_AchievementsMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) - - self._cursor.execute( - str( - f""" - 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 - ); - """ - ) - ) - - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) - - # A join table history between users and achievements is not necessary. - - self._cursor.execute(str(f"""ALTER TABLE Users ADD MessageCount BIGINT NOT NULL DEFAULT 0 AFTER XP;""")) - self._cursor.execute(str(f"""ALTER TABLE Users ADD ReactionCount BIGINT NOT NULL DEFAULT 0 AFTER XP;""")) - self._cursor.execute(str(f"""ALTER TABLE UsersHistory ADD MessageCount BIGINT NOT NULL DEFAULT 0 AFTER XP;""")) - self._cursor.execute(str(f"""ALTER TABLE UsersHistory ADD ReactionCount BIGINT NOT NULL DEFAULT 0 AFTER XP;""")) - - self._cursor.execute(str(f"""DROP TRIGGER IF EXISTS `TR_AchievementsUpdate`;""")) - self._cursor.execute( - str( - f""" - 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; - """ - ) - ) - - self._cursor.execute(str(f"""DROP TRIGGER IF EXISTS `TR_AchievementsDelete`;""")) - - self._cursor.execute( - str( - f""" - 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; - """ - ) - ) - - def downgrade(self): - self._cursor.execute("DROP TABLE `Achievements`;") - - self._cursor.execute(str(f"""ALTER TABLE Users DROP COLUMN MessageCount;""")) - self._cursor.execute(str(f"""ALTER TABLE Users DROP COLUMN ReactionCount;""")) diff --git a/bot/src/bot_data/migration/api_key_migration.py b/bot/src/bot_data/migration/api_key_migration.py deleted file mode 100644 index 0712974b..00000000 --- a/bot/src/bot_data/migration/api_key_migration.py +++ /dev/null @@ -1,38 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class ApiKeyMigration(MigrationABC): - name = "1.0.0_ApiKeyMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) - - def downgrade(self): - self._cursor.execute("DROP TABLE `ApiKeys`;") diff --git a/bot/src/bot_data/migration/api_migration.py b/bot/src/bot_data/migration/api_migration.py deleted file mode 100644 index 0aa4a5c3..00000000 --- a/bot/src/bot_data/migration/api_migration.py +++ /dev/null @@ -1,61 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class ApiMigration(MigrationABC): - name = "0.3.0_ApiMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) - - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) - - def downgrade(self): - self._cursor.execute("DROP TABLE `AuthUsers`;") - self._cursor.execute("DROP TABLE `AuthUserUsersRelations`;") diff --git a/bot/src/bot_data/migration/auto_role_fix1_migration.py b/bot/src/bot_data/migration/auto_role_fix1_migration.py deleted file mode 100644 index 70a8e30e..00000000 --- a/bot/src/bot_data/migration/auto_role_fix1_migration.py +++ /dev/null @@ -1,33 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class AutoRoleFix1Migration(MigrationABC): - name = "0.3.0_AutoRoleFixMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str( - f""" - ALTER TABLE AutoRoles ADD DiscordChannelId BIGINT NOT NULL AFTER ServerId; - """ - ) - ) - - def downgrade(self): - self._cursor.execute( - str( - f""" - ALTER TABLE AutoRoles DROP COLUMN DiscordChannelId; - """ - ) - ) diff --git a/bot/src/bot_data/migration/auto_role_migration.py b/bot/src/bot_data/migration/auto_role_migration.py deleted file mode 100644 index b911e656..00000000 --- a/bot/src/bot_data/migration/auto_role_migration.py +++ /dev/null @@ -1,53 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class AutoRoleMigration(MigrationABC): - name = "0.2.2_AutoRoleMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str( - f""" - CREATE TABLE IF NOT EXISTS `AutoRoles` ( - `AutoRoleId` BIGINT NOT NULL AUTO_INCREMENT, - `ServerId` BIGINT, - `DiscordMessageId` BIGINT NOT NULL, - `CreatedAt` DATETIME(6), - `LastModifiedAt` DATETIME(6), - PRIMARY KEY(`AutoRoleId`), - FOREIGN KEY (`ServerId`) REFERENCES `Servers`(`ServerId`) - ); - """ - ) - ) - - self._cursor.execute( - str( - f""" - CREATE TABLE IF NOT EXISTS `AutoRoleRules` ( - `AutoRoleRuleId` BIGINT NOT NULL AUTO_INCREMENT, - `AutoRoleId` BIGINT, - `DiscordEmojiName` VARCHAR(64), - `DiscordRoleId` BIGINT NOT NULL, - `CreatedAt` DATETIME(6), - `LastModifiedAt` DATETIME(6), - PRIMARY KEY(`AutoRoleRuleId`), - FOREIGN KEY (`AutoRoleId`) REFERENCES `AutoRoles`(`AutoRoleId`) - ); - """ - ) - ) - - def downgrade(self): - self._cursor.execute("DROP TABLE `AutoRole`;") - self._cursor.execute("DROP TABLE `AutoRoleRules`;") diff --git a/bot/src/bot_data/migration/birthday_migration.py b/bot/src/bot_data/migration/birthday_migration.py deleted file mode 100644 index 607de4d3..00000000 --- a/bot/src/bot_data/migration/birthday_migration.py +++ /dev/null @@ -1,84 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class BirthdayMigration(MigrationABC): - name = "1.2.0_BirthdayMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str( - f""" - ALTER TABLE Users - ADD Birthday DATE NULL AFTER MessageCount; - """ - ) - ) - - self._cursor.execute( - str( - f""" - ALTER TABLE UsersHistory - ADD Birthday DATE NULL AFTER MessageCount; - """ - ) - ) - self._exec(__file__, "users.sql") - - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_Server - ADD XpForBirthday BIGINT(20) NOT NULL DEFAULT 0 AFTER XpPerAchievement; - """ - ) - ) - - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_ServerHistory - ADD XpForBirthday BIGINT(20) NOT NULL DEFAULT 0 AFTER XpPerAchievement; - """ - ) - ) - self._exec(__file__, "config/server.sql") - - def downgrade(self): - self._cursor.execute( - str( - f""" - ALTER TABLE Users DROP COLUMN Birthday; - """ - ) - ) - self._cursor.execute( - str( - f""" - ALTER TABLE UsersHistory DROP COLUMN Birthday; - """ - ) - ) - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_Server DROP COLUMN XpForBirthday; - """ - ) - ) - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_ServerHistory DROP COLUMN XpForBirthday; - """ - ) - ) diff --git a/bot/src/bot_data/migration/config_feature_flags_migration.py b/bot/src/bot_data/migration/config_feature_flags_migration.py deleted file mode 100644 index f9046565..00000000 --- a/bot/src/bot_data/migration/config_feature_flags_migration.py +++ /dev/null @@ -1,29 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class ConfigFeatureFlagsMigration(MigrationABC): - name = "1.1.0_ConfigFeatureFlagsMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str("""ALTER TABLE CFG_Technician ADD FeatureFlags JSON NULL DEFAULT ('{}') AFTER CacheMaxMessages;""") - ) - - self._cursor.execute( - str("""ALTER TABLE CFG_Server ADD FeatureFlags JSON NULL DEFAULT ('{}') AFTER LoginMessageChannelId;""") - ) - - def downgrade(self): - self._logger.debug(__name__, "Running downgrade") - self._cursor.execute("ALTER TABLE CFG_Technician DROP COLUMN FeatureFlags;") - self._cursor.execute("ALTER TABLE CFG_Server DROP COLUMN FeatureFlags;") diff --git a/bot/src/bot_data/migration/config_migration.py b/bot/src/bot_data/migration/config_migration.py deleted file mode 100644 index d65ac06d..00000000 --- a/bot/src/bot_data/migration/config_migration.py +++ /dev/null @@ -1,145 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class ConfigMigration(MigrationABC): - name = "1.1.0_ConfigMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - self._server_upgrade() - self._technician_upgrade() - - self._exec(__file__, "config/server.sql") - self._exec(__file__, "config/server_afk_channels.sql") - self._exec(__file__, "config/server_team_roles.sql") - self._exec(__file__, "config/technician.sql") - self._exec(__file__, "config/technician_ids.sql") - self._exec(__file__, "config/technician_ping_urls.sql") - - def _server_upgrade(self): - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) - - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) - - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) - - def _technician_upgrade(self): - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) - - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) - - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) - - def downgrade(self): - self._logger.debug(__name__, "Running downgrade") - self._server_downgrade() - self._technician_downgrade() - - def _server_downgrade(self): - self._cursor.execute("DROP TABLE `CFG_Server`;") - - def _technician_downgrade(self): - self._cursor.execute("DROP TABLE `CFG_Technician`;") - self._cursor.execute("DROP TABLE `CFG_TechnicianPingUrls`;") - self._cursor.execute("DROP TABLE `CFG_TechnicianIds`;") diff --git a/bot/src/bot_data/migration/db_history_migration.py b/bot/src/bot_data/migration/db_history_migration.py deleted file mode 100644 index 5452d9e5..00000000 --- a/bot/src/bot_data/migration/db_history_migration.py +++ /dev/null @@ -1,56 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class DBHistoryMigration(MigrationABC): - name = "1.0.0_DBHistoryMigration" - prio = 1 - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._exec(__file__, "api_keys.sql") - self._exec(__file__, "auth_users.sql") - self._exec(__file__, "auth_user_users_relation.sql") - self._exec(__file__, "auto_role_rules.sql") - self._exec(__file__, "auto_roles.sql") - self._exec(__file__, "clients.sql") - self._exec(__file__, "game_servers.sql") - self._exec(__file__, "known_users.sql") - self._exec(__file__, "levels.sql") - self._exec(__file__, "servers.sql") - self._exec(__file__, "user_game_idents.sql") - self._exec(__file__, "user_joined_game_servers.sql") - self._exec(__file__, "user_joined_servers.sql") - self._exec(__file__, "user_joined_voice_channel.sql") - self._exec(__file__, "user_message_count_per_hour.sql") - self._exec(__file__, "users.sql") - self._exec(__file__, "user_warnings.sql") - - self._logger.debug(__name__, "Finished history upgrade") - - def downgrade(self): - self._cursor.execute("DROP TABLE `ApiKeysHistory`;") - self._cursor.execute("DROP TABLE `AuthUsersHistory`;") - self._cursor.execute("DROP TABLE `AuthUserUsersRelationsHistory`;") - self._cursor.execute("DROP TABLE `AutoRoleRulesHistory`;") - self._cursor.execute("DROP TABLE `AutoRolesHistory`;") - self._cursor.execute("DROP TABLE `ClientsHistory`;") - self._cursor.execute("DROP TABLE `GameServersHistory`;") - self._cursor.execute("DROP TABLE `KnownUsersHistory`;") - self._cursor.execute("DROP TABLE `LevelsHistory`;") - self._cursor.execute("DROP TABLE `ServersHistory`;") - self._cursor.execute("DROP TABLE `UserGameIdentsHistory`;") - self._cursor.execute("DROP TABLE `UserJoinedGameServerHistory`;") - self._cursor.execute("DROP TABLE `UserJoinedServersHistory`;") - self._cursor.execute("DROP TABLE `UserJoinedVoiceChannelHistory`;") - self._cursor.execute("DROP TABLE `UserMessageCountPerHourHistory`;") - self._cursor.execute("DROP TABLE `UsersHistory`;") - self._cursor.execute("DROP TABLE `UserWarningsHistory`;") diff --git a/bot/src/bot_data/migration/db_history_scripts/api_keys.sql b/bot/src/bot_data/migration/db_history_scripts/api_keys.sql deleted file mode 100644 index 10285da4..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/api_keys.sql +++ /dev/null @@ -1,46 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/auth_user_users_relation.sql b/bot/src/bot_data/migration/db_history_scripts/auth_user_users_relation.sql deleted file mode 100644 index 2ce0d762..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/auth_user_users_relation.sql +++ /dev/null @@ -1,46 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/auth_users.sql b/bot/src/bot_data/migration/db_history_scripts/auth_users.sql deleted file mode 100644 index ab22cc65..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/auth_users.sql +++ /dev/null @@ -1,62 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/auto_role_rules.sql b/bot/src/bot_data/migration/db_history_scripts/auto_role_rules.sql deleted file mode 100644 index bcfa5f77..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/auto_role_rules.sql +++ /dev/null @@ -1,46 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/auto_roles.sql b/bot/src/bot_data/migration/db_history_scripts/auto_roles.sql deleted file mode 100644 index 7b78ea02..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/auto_roles.sql +++ /dev/null @@ -1,48 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/clients.sql b/bot/src/bot_data/migration/db_history_scripts/clients.sql deleted file mode 100644 index b1048785..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/clients.sql +++ /dev/null @@ -1,54 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/config/server.sql b/bot/src/bot_data/migration/db_history_scripts/config/server.sql deleted file mode 100644 index 02f1b841..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/config/server.sql +++ /dev/null @@ -1,124 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/config/server_afk_channels.sql b/bot/src/bot_data/migration/db_history_scripts/config/server_afk_channels.sql deleted file mode 100644 index 4dfd7e31..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/config/server_afk_channels.sql +++ /dev/null @@ -1,57 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/config/server_team_roles.sql b/bot/src/bot_data/migration/db_history_scripts/config/server_team_roles.sql deleted file mode 100644 index 8733da4d..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/config/server_team_roles.sql +++ /dev/null @@ -1,62 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/config/technician.sql b/bot/src/bot_data/migration/db_history_scripts/config/technician.sql deleted file mode 100644 index 3866f88f..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/config/technician.sql +++ /dev/null @@ -1,74 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/config/technician_ids.sql b/bot/src/bot_data/migration/db_history_scripts/config/technician_ids.sql deleted file mode 100644 index 251d4b30..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/config/technician_ids.sql +++ /dev/null @@ -1,52 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/config/technician_ping_urls.sql b/bot/src/bot_data/migration/db_history_scripts/config/technician_ping_urls.sql deleted file mode 100644 index d61c3cce..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/config/technician_ping_urls.sql +++ /dev/null @@ -1,52 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/game_servers.sql b/bot/src/bot_data/migration/db_history_scripts/game_servers.sql deleted file mode 100644 index 091cbf51..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/game_servers.sql +++ /dev/null @@ -1,46 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/known_users.sql b/bot/src/bot_data/migration/db_history_scripts/known_users.sql deleted file mode 100644 index 5263aa8d..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/known_users.sql +++ /dev/null @@ -1,44 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/levels.sql b/bot/src/bot_data/migration/db_history_scripts/levels.sql deleted file mode 100644 index 6ba534e2..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/levels.sql +++ /dev/null @@ -1,50 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/servers.sql b/bot/src/bot_data/migration/db_history_scripts/servers.sql deleted file mode 100644 index 2d9d6c49..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/servers.sql +++ /dev/null @@ -1,44 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/short_rule_names.sql b/bot/src/bot_data/migration/db_history_scripts/short_rule_names.sql deleted file mode 100644 index f4ff95c2..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/short_rule_names.sql +++ /dev/null @@ -1,38 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/user_game_idents.sql b/bot/src/bot_data/migration/db_history_scripts/user_game_idents.sql deleted file mode 100644 index fab7a21b..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/user_game_idents.sql +++ /dev/null @@ -1,46 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/user_joined_game_servers.sql b/bot/src/bot_data/migration/db_history_scripts/user_joined_game_servers.sql deleted file mode 100644 index 203df921..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/user_joined_game_servers.sql +++ /dev/null @@ -1,47 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/user_joined_servers.sql b/bot/src/bot_data/migration/db_history_scripts/user_joined_servers.sql deleted file mode 100644 index 45bc7d1e..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/user_joined_servers.sql +++ /dev/null @@ -1,46 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/user_joined_voice_channel.sql b/bot/src/bot_data/migration/db_history_scripts/user_joined_voice_channel.sql deleted file mode 100644 index 8d439f7b..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/user_joined_voice_channel.sql +++ /dev/null @@ -1,49 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/user_message_count_per_hour.sql b/bot/src/bot_data/migration/db_history_scripts/user_message_count_per_hour.sql deleted file mode 100644 index a86841b8..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/user_message_count_per_hour.sql +++ /dev/null @@ -1,47 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/user_warnings.sql b/bot/src/bot_data/migration/db_history_scripts/user_warnings.sql deleted file mode 100644 index 4371b207..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/user_warnings.sql +++ /dev/null @@ -1,46 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/db_history_scripts/users.sql b/bot/src/bot_data/migration/db_history_scripts/users.sql deleted file mode 100644 index a91cf560..00000000 --- a/bot/src/bot_data/migration/db_history_scripts/users.sql +++ /dev/null @@ -1,45 +0,0 @@ -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; \ No newline at end of file diff --git a/bot/src/bot_data/migration/default_role_migration.py b/bot/src/bot_data/migration/default_role_migration.py deleted file mode 100644 index 24fd4940..00000000 --- a/bot/src/bot_data/migration/default_role_migration.py +++ /dev/null @@ -1,34 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class DefaultRoleMigration(MigrationABC): - name = "1.1.3_DefaultRoleMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_Server - ADD DefaultRoleId BIGINT NULL AFTER LoginMessageChannelId; - """ - ) - ) - - def downgrade(self): - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_Server DROP COLUMN DefaultRoleId; - """ - ) - ) diff --git a/bot/src/bot_data/migration/fix_updates_migration.py b/bot/src/bot_data/migration/fix_updates_migration.py deleted file mode 100644 index f4d5e020..00000000 --- a/bot/src/bot_data/migration/fix_updates_migration.py +++ /dev/null @@ -1,51 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class FixUpdatesMigration(MigrationABC): - name = "1.1.7_FixUpdatesMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_ServerHistory - ADD DefaultRoleId BIGINT NULL AFTER LoginMessageChannelId; - """ - ) - ) - - self._cursor.execute( - str( - """ALTER TABLE CFG_TechnicianHistory ADD FeatureFlags JSON NULL DEFAULT ('{}') AFTER CacheMaxMessages;""" - ) - ) - - self._cursor.execute( - str( - """ALTER TABLE CFG_ServerHistory ADD FeatureFlags JSON NULL DEFAULT ('{}') AFTER LoginMessageChannelId;""" - ) - ) - - self._exec(__file__, "config/server.sql") - self._exec(__file__, "config/technician.sql") - - def downgrade(self): - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_ServerHistory DROP COLUMN DefaultRoleId; - """ - ) - ) - self._cursor.execute("ALTER TABLE CFG_TechnicianHistory DROP COLUMN FeatureFlags;") - self._cursor.execute("ALTER TABLE CFG_ServerHistory DROP COLUMN FeatureFlags;") diff --git a/bot/src/bot_data/migration/fix_user_history_migration.py b/bot/src/bot_data/migration/fix_user_history_migration.py deleted file mode 100644 index 1aec1fa0..00000000 --- a/bot/src/bot_data/migration/fix_user_history_migration.py +++ /dev/null @@ -1,41 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class FixUserHistoryMigration(MigrationABC): - name = "1.2.0_FixUserHistoryMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - # fix 1.1.0_AchievementsMigration - self._cursor.execute( - str(f"""ALTER TABLE UsersHistory ADD COLUMN ReactionCount BIGINT NOT NULL DEFAULT 0 AFTER XP;""") - ) - self._cursor.execute( - str(f"""ALTER TABLE UsersHistory ADD COLUMN MessageCount BIGINT NOT NULL DEFAULT 0 AFTER ReactionCount;""") - ) - self._exec(__file__, "users.sql") - - def downgrade(self): - self._cursor.execute( - str( - f""" - ALTER TABLE UsersHistory DROP COLUMN MessageCount; - """ - ) - ) - self._cursor.execute( - str( - f""" - ALTER TABLE UsersHistory DROP COLUMN ReactionCount; - """ - ) - ) diff --git a/bot/src/bot_data/migration/initial_migration.py b/bot/src/bot_data/migration/initial_migration.py deleted file mode 100644 index 8eb0611a..00000000 --- a/bot/src/bot_data/migration/initial_migration.py +++ /dev/null @@ -1,138 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class InitialMigration(MigrationABC): - name = "0.1.0_InitialMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str( - f""" - CREATE TABLE IF NOT EXISTS `MigrationHistory` ( - `MigrationId` VARCHAR(255), - `CreatedAt` DATETIME(6), - `LastModifiedAt` DATETIME(6), - PRIMARY KEY(`MigrationId`) - ); - """ - ) - ) - - self._cursor.execute( - str( - f""" - CREATE TABLE IF NOT EXISTS `Servers` ( - `ServerId` BIGINT NOT NULL AUTO_INCREMENT, - `DiscordServerId` BIGINT NOT NULL, - `CreatedAt` DATETIME(6), - `LastModifiedAt` DATETIME(6), - PRIMARY KEY(`ServerId`) - ); - """ - ) - ) - - self._cursor.execute( - str( - f""" - CREATE TABLE IF NOT EXISTS `Users` ( - `UserId` BIGINT NOT NULL AUTO_INCREMENT, - `DiscordId` BIGINT NOT NULL, - `XP` BIGINT NOT NULL DEFAULT 0, - `ServerId` BIGINT, - `CreatedAt` DATETIME(6), - `LastModifiedAt` DATETIME(6), - FOREIGN KEY (`ServerId`) REFERENCES Servers(`ServerId`), - PRIMARY KEY(`UserId`) - ); - """ - ) - ) - - self._cursor.execute( - str( - f""" - CREATE TABLE IF NOT EXISTS `Clients` ( - `ClientId` BIGINT NOT NULL AUTO_INCREMENT, - `DiscordClientId` BIGINT NOT NULL, - `SentMessageCount` BIGINT NOT NULL DEFAULT 0, - `ReceivedMessageCount` BIGINT NOT NULL DEFAULT 0, - `DeletedMessageCount` BIGINT NOT NULL DEFAULT 0, - `ReceivedCommandsCount` BIGINT NOT NULL DEFAULT 0, - `MovedUsersCount` BIGINT NOT NULL DEFAULT 0, - `ServerId` BIGINT, - `CreatedAt` DATETIME(6), - `LastModifiedAt` DATETIME(6), - FOREIGN KEY (`ServerId`) REFERENCES Servers(`ServerId`), - PRIMARY KEY(`ClientId`) - ); - """ - ) - ) - - self._cursor.execute( - str( - f""" - CREATE TABLE IF NOT EXISTS `KnownUsers` ( - `KnownUserId` BIGINT NOT NULL AUTO_INCREMENT, - `DiscordId` BIGINT NOT NULL, - `CreatedAt` DATETIME(6), - `LastModifiedAt` DATETIME(6), - PRIMARY KEY(`KnownUserId`) - ); - """ - ) - ) - - self._cursor.execute( - str( - f""" - CREATE TABLE IF NOT EXISTS `UserJoinedServers` ( - `JoinId` BIGINT NOT NULL AUTO_INCREMENT, - `UserId` BIGINT NOT NULL, - `JoinedOn` DATETIME(6) NOT NULL, - `LeavedOn` DATETIME(6), - `CreatedAt` DATETIME(6), - `LastModifiedAt` DATETIME(6), - FOREIGN KEY (`UserId`) REFERENCES Users(`UserId`), - PRIMARY KEY(`JoinId`) - ); - """ - ) - ) - - self._cursor.execute( - str( - f""" - CREATE TABLE IF NOT EXISTS `UserJoinedVoiceChannel` ( - `JoinId` BIGINT NOT NULL AUTO_INCREMENT, - `UserId` BIGINT NOT NULL, - `DiscordChannelId` BIGINT NOT NULL, - `JoinedOn` DATETIME(6) NOT NULL, - `LeavedOn` DATETIME(6), - `CreatedAt` DATETIME(6), - `LastModifiedAt` DATETIME(6), - FOREIGN KEY (`UserId`) REFERENCES Users(`UserId`), - PRIMARY KEY(`JoinId`) - ); - """ - ) - ) - - def downgrade(self): - self._cursor.execute("DROP TABLE `Servers`;") - self._cursor.execute("DROP TABLE `Users`;") - self._cursor.execute("DROP TABLE `Clients`;") - self._cursor.execute("DROP TABLE `KnownUsers`;") - self._cursor.execute("DROP TABLE `UserJoinedServers`;") - self._cursor.execute("DROP TABLE `UserJoinedVoiceChannel`;") diff --git a/bot/src/bot_data/migration/level_migration.py b/bot/src/bot_data/migration/level_migration.py deleted file mode 100644 index bf80d472..00000000 --- a/bot/src/bot_data/migration/level_migration.py +++ /dev/null @@ -1,38 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class LevelMigration(MigrationABC): - name = "0.3.0_LevelMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) - - def downgrade(self): - self._cursor.execute("DROP TABLE `Levels`;") diff --git a/bot/src/bot_data/migration/maintenance_mode_migration.py b/bot/src/bot_data/migration/maintenance_mode_migration.py deleted file mode 100644 index 467c8604..00000000 --- a/bot/src/bot_data/migration/maintenance_mode_migration.py +++ /dev/null @@ -1,51 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class MaintenanceModeMigration(MigrationABC): - name = "1.2.0_MaintenanceModeMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_Technician - ADD Maintenance BOOLEAN DEFAULT FALSE AFTER MaxSteamOfferCount; - """ - ) - ) - - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_TechnicianHistory - ADD Maintenance BOOLEAN DEFAULT FALSE AFTER MaxSteamOfferCount; - """ - ) - ) - self._exec(__file__, "config/technician.sql") - - def downgrade(self): - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_Technician DROP COLUMN Maintenance; - """ - ) - ) - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_TechnicianHistory DROP COLUMN Maintenance; - """ - ) - ) diff --git a/bot/src/bot_data/migration/max_steam_offer_count_migration.py b/bot/src/bot_data/migration/max_steam_offer_count_migration.py deleted file mode 100644 index fe926c24..00000000 --- a/bot/src/bot_data/migration/max_steam_offer_count_migration.py +++ /dev/null @@ -1,51 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class MaxSteamOfferCountMigration(MigrationABC): - name = "1.2.0_MaxSteamOfferCountMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_Technician - ADD MaxSteamOfferCount BIGINT NOT NULL DEFAULT 250 AFTER CacheMaxMessages; - """ - ) - ) - - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_TechnicianHistory - ADD MaxSteamOfferCount BIGINT NOT NULL DEFAULT 250 AFTER CacheMaxMessages; - """ - ) - ) - self._exec(__file__, "config/technician.sql") - - def downgrade(self): - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_Technician DROP COLUMN MaxSteamOfferCount; - """ - ) - ) - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_TechnicianHistory DROP COLUMN MaxSteamOfferCount; - """ - ) - ) diff --git a/bot/src/bot_data/migration/remove_stats_migration.py b/bot/src/bot_data/migration/remove_stats_migration.py deleted file mode 100644 index e5e621a5..00000000 --- a/bot/src/bot_data/migration/remove_stats_migration.py +++ /dev/null @@ -1,43 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class RemoveStatsMigration(MigrationABC): - name = "1.0.0_RemoveStatsMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str( - f""" - DROP TABLE IF EXISTS `Statistics`; - """ - ) - ) - - def downgrade(self): - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) diff --git a/bot/src/bot_data/migration/short_role_name_migration.py b/bot/src/bot_data/migration/short_role_name_migration.py deleted file mode 100644 index 7fe5ddfd..00000000 --- a/bot/src/bot_data/migration/short_role_name_migration.py +++ /dev/null @@ -1,40 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class ShortRoleNameMigration(MigrationABC): - name = "1.1.7_ShortRoleNameMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) - - self._exec(__file__, "short_rule_names.sql") - - def downgrade(self): - self._cursor.execute("DROP TABLE `ShortRoleNames`;") - self._cursor.execute("DROP TABLE `ShortRoleNamesHistory`;") diff --git a/bot/src/bot_data/migration/short_role_name_only_highest_migration.py b/bot/src/bot_data/migration/short_role_name_only_highest_migration.py deleted file mode 100644 index 315e22f1..00000000 --- a/bot/src/bot_data/migration/short_role_name_only_highest_migration.py +++ /dev/null @@ -1,51 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class ShortRoleNameOnlyHighestMigration(MigrationABC): - name = "1.1.9_ShortRoleNameOnlyHighestMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_Server - ADD ShortRoleNameSetOnlyHighest BOOLEAN NOT NULL DEFAULT FALSE AFTER DefaultRoleId; - """ - ) - ) - - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_ServerHistory - ADD ShortRoleNameSetOnlyHighest BOOLEAN NOT NULL DEFAULT FALSE AFTER DefaultRoleId; - """ - ) - ) - self._exec(__file__, "config/server.sql") - - def downgrade(self): - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_Server DROP COLUMN ShortRoleNameSetOnlyHighest; - """ - ) - ) - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_ServerHistory DROP COLUMN ShortRoleNameSetOnlyHighest; - """ - ) - ) diff --git a/bot/src/bot_data/migration/stats_migration.py b/bot/src/bot_data/migration/stats_migration.py deleted file mode 100644 index 2fb4c461..00000000 --- a/bot/src/bot_data/migration/stats_migration.py +++ /dev/null @@ -1,37 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class StatsMigration(MigrationABC): - name = "0.3.0_StatsMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) - - def downgrade(self): - self._cursor.execute("DROP TABLE `Statistics`;") diff --git a/bot/src/bot_data/migration/steam_special_offer_migration.py b/bot/src/bot_data/migration/steam_special_offer_migration.py deleted file mode 100644 index 0a35e77d..00000000 --- a/bot/src/bot_data/migration/steam_special_offer_migration.py +++ /dev/null @@ -1,68 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class SteamSpecialOfferMigration(MigrationABC): - name = "1.2.0_SteamSpecialOfferMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) - - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_Server - ADD COLUMN GameOfferNotificationChatId BIGINT NULL AFTER ShortRoleNameSetOnlyHighest; - """ - ) - ) - - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_ServerHistory - ADD COLUMN GameOfferNotificationChatId BIGINT NULL AFTER ShortRoleNameSetOnlyHighest; - """ - ) - ) - - def downgrade(self): - self._cursor.execute("DROP TABLE `SteamSpecialOffers`;") - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_Server DROP COLUMN ShortRoleNameSetOnlyHighest; - """ - ) - ) - self._cursor.execute( - str( - f""" - ALTER TABLE CFG_ServerHistory DROP COLUMN ShortRoleNameSetOnlyHighest; - """ - ) - ) diff --git a/bot/src/bot_data/migration/user_joined_game_server_migration.py b/bot/src/bot_data/migration/user_joined_game_server_migration.py deleted file mode 100644 index bef8e5aa..00000000 --- a/bot/src/bot_data/migration/user_joined_game_server_migration.py +++ /dev/null @@ -1,77 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class UserJoinedGameServerMigration(MigrationABC): - name = "1.0.0_UserJoinedGameServerMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) - - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) - - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) - - def downgrade(self): - self._cursor.execute("DROP TABLE `GameServers`;") - self._cursor.execute("DROP TABLE `UserJoinedGameServer`;") - self._cursor.execute("DROP TABLE `UserGameIdents`;") diff --git a/bot/src/bot_data/migration/user_message_count_per_hour_migration.py b/bot/src/bot_data/migration/user_message_count_per_hour_migration.py deleted file mode 100644 index c0c4199a..00000000 --- a/bot/src/bot_data/migration/user_message_count_per_hour_migration.py +++ /dev/null @@ -1,37 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class UserMessageCountPerHourMigration(MigrationABC): - name = "0.3.1_UserMessageCountPerHourMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) - - def downgrade(self): - self._cursor.execute("DROP TABLE `UserMessageCountPerHour`;") diff --git a/bot/src/bot_data/migration/user_warning_migration.py b/bot/src/bot_data/migration/user_warning_migration.py deleted file mode 100644 index 06e446a0..00000000 --- a/bot/src/bot_data/migration/user_warning_migration.py +++ /dev/null @@ -1,37 +0,0 @@ -from bot_core.logging.database_logger import DatabaseLogger -from bot_data.abc.migration_abc import MigrationABC -from bot_data.db_context import DBContext - - -class UserWarningMigration(MigrationABC): - name = "1.0.0_UserWarningMigration" - - def __init__(self, logger: DatabaseLogger, db: DBContext): - MigrationABC.__init__(self) - self._logger = logger - self._db = db - self._cursor = db.cursor - - def upgrade(self): - self._logger.debug(__name__, "Running upgrade") - - self._cursor.execute( - str( - f""" - 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`) - ); - """ - ) - ) - - def downgrade(self): - self._cursor.execute("DROP TABLE `UserWarnings`;") diff --git a/bot/src/bot_data/startup_migration_extension.py b/bot/src/bot_data/startup_migration_extension.py index 14a90938..58c6e083 100644 --- a/bot/src/bot_data/startup_migration_extension.py +++ b/bot/src/bot_data/startup_migration_extension.py @@ -3,39 +3,6 @@ from cpl_core.configuration import ConfigurationABC from cpl_core.dependency_injection import ServiceCollectionABC from cpl_core.environment import ApplicationEnvironmentABC -from bot_data.abc.migration_abc import MigrationABC -from bot_data.migration.achievements_migration import AchievementsMigration -from bot_data.migration.api_key_migration import ApiKeyMigration -from bot_data.migration.api_migration import ApiMigration -from bot_data.migration.auto_role_fix1_migration import AutoRoleFix1Migration -from bot_data.migration.auto_role_migration import AutoRoleMigration -from bot_data.migration.birthday_migration import BirthdayMigration -from bot_data.migration.config_feature_flags_migration import ( - ConfigFeatureFlagsMigration, -) -from bot_data.migration.config_migration import ConfigMigration -from bot_data.migration.db_history_migration import DBHistoryMigration -from bot_data.migration.default_role_migration import DefaultRoleMigration -from bot_data.migration.fix_updates_migration import FixUpdatesMigration -from bot_data.migration.fix_user_history_migration import FixUserHistoryMigration -from bot_data.migration.initial_migration import InitialMigration -from bot_data.migration.level_migration import LevelMigration -from bot_data.migration.maintenance_mode_migration import MaintenanceModeMigration -from bot_data.migration.max_steam_offer_count_migration import MaxSteamOfferCountMigration -from bot_data.migration.remove_stats_migration import RemoveStatsMigration -from bot_data.migration.short_role_name_migration import ShortRoleNameMigration -from bot_data.migration.short_role_name_only_highest_migration import ( - ShortRoleNameOnlyHighestMigration, -) -from bot_data.migration.stats_migration import StatsMigration -from bot_data.migration.steam_special_offer_migration import SteamSpecialOfferMigration -from bot_data.migration.user_joined_game_server_migration import ( - UserJoinedGameServerMigration, -) -from bot_data.migration.user_message_count_per_hour_migration import ( - UserMessageCountPerHourMigration, -) -from bot_data.migration.user_warning_migration import UserWarningMigration from bot_data.service.migration_service import MigrationService @@ -48,27 +15,3 @@ class StartupMigrationExtension(StartupExtensionABC): def configure_services(self, services: ServiceCollectionABC, env: ApplicationEnvironmentABC): services.add_transient(MigrationService) - services.add_transient(MigrationABC, InitialMigration) - services.add_transient(MigrationABC, AutoRoleMigration) # 03.10.2022 #54 - 0.2.2 - services.add_transient(MigrationABC, ApiMigration) # 15.10.2022 #70 - 0.3.0 - services.add_transient(MigrationABC, LevelMigration) # 06.11.2022 #25 - 0.3.0 - services.add_transient(MigrationABC, StatsMigration) # 09.11.2022 #46 - 0.3.0 - services.add_transient(MigrationABC, AutoRoleFix1Migration) # 30.12.2022 #151 - 0.3.0 - services.add_transient(MigrationABC, UserMessageCountPerHourMigration) # 11.01.2023 #168 - 0.3.1 - services.add_transient(MigrationABC, ApiKeyMigration) # 09.02.2023 #162 - 1.0.0 - services.add_transient(MigrationABC, UserJoinedGameServerMigration) # 12.02.2023 #181 - 1.0.0 - services.add_transient(MigrationABC, RemoveStatsMigration) # 19.02.2023 #190 - 1.0.0 - services.add_transient(MigrationABC, UserWarningMigration) # 21.02.2023 #35 - 1.0.0 - services.add_transient(MigrationABC, DBHistoryMigration) # 06.03.2023 #246 - 1.0.0 - services.add_transient(MigrationABC, AchievementsMigration) # 14.06.2023 #268 - 1.1.0 - services.add_transient(MigrationABC, ConfigMigration) # 19.07.2023 #127 - 1.1.0 - services.add_transient(MigrationABC, ConfigFeatureFlagsMigration) # 15.08.2023 #334 - 1.1.0 - services.add_transient(MigrationABC, DefaultRoleMigration) # 24.09.2023 #360 - 1.1.3 - services.add_transient(MigrationABC, ShortRoleNameMigration) # 28.09.2023 #378 - 1.1.7 - services.add_transient(MigrationABC, FixUpdatesMigration) # 28.09.2023 #378 - 1.1.7 - services.add_transient(MigrationABC, ShortRoleNameOnlyHighestMigration) # 02.10.2023 #391 - 1.1.9 - services.add_transient(MigrationABC, FixUserHistoryMigration) # 10.10.2023 #401 - 1.2.0 - services.add_transient(MigrationABC, BirthdayMigration) # 10.10.2023 #401 - 1.2.0 - services.add_transient(MigrationABC, SteamSpecialOfferMigration) # 10.10.2023 #188 - 1.2.0 - services.add_transient(MigrationABC, MaxSteamOfferCountMigration) # 04.11.2023 #188 - 1.2.0 - services.add_transient(MigrationABC, MaintenanceModeMigration) # 06.11.2023 #424 - 1.2.0