1.0.0 #253
| @@ -8,6 +8,7 @@ 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.db_history_migration import DBHistoryMigration | ||||
| from bot_data.migration.initial_migration import InitialMigration | ||||
| from bot_data.migration.level_migration import LevelMigration | ||||
| from bot_data.migration.remove_stats_migration import RemoveStatsMigration | ||||
| @@ -40,3 +41,4 @@ class StartupMigrationExtension(StartupExtensionABC): | ||||
|         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 | ||||
|   | ||||
| @@ -1,3 +1,5 @@ | ||||
| import os | ||||
|  | ||||
| from bot_core.logging.database_logger import DatabaseLogger | ||||
| from bot_data.abc.migration_abc import MigrationABC | ||||
| from bot_data.db_context import DBContext | ||||
| @@ -12,150 +14,17 @@ class DBHistoryMigration(MigrationABC): | ||||
|         self._db = db | ||||
|         self._cursor = db.cursor | ||||
|  | ||||
|     def _api_keys(self): | ||||
|         self._cursor.execute( | ||||
|             f""" | ||||
|             ALTER TABLE `ApiKeys` | ||||
|                 MODIFY `LastModifiedAt` DATETIME(6) NULL ON UPDATE CURRENT_TIMESTAMP(6); | ||||
|              | ||||
|             ALTER TABLE `ApiKeys` | ||||
|                 ALTER COLUMN `CreatedAt` SET DEFAULT CURRENT_TIMESTAMP(6); | ||||
|              | ||||
|             ALTER TABLE `ApiKeys` | ||||
|                 ALTER COLUMN `LastModifiedAt` SET DEFAULT 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; | ||||
|             """ | ||||
|         ) | ||||
|  | ||||
|     def _auth_users(self): | ||||
|         self._cursor.execute( | ||||
|             f""" | ||||
|             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`               int(11)     NOT NULL DEFAULT 0, | ||||
|                 `DateFrom`       datetime(6) NOT NULL, | ||||
|                 `DateTo`         datetime(6) NOT NULL | ||||
|             ); | ||||
|             """ | ||||
|         ) | ||||
|  | ||||
|     def _auth_user_users_relation(self): | ||||
|         self._cursor.execute( | ||||
|             f""" | ||||
|             CREATE TABLE IF NOT EXISTS `AuthUserUsersRelationsHistory` | ||||
|             ( | ||||
|                 `Id`             bigint(20)  NOT NULL, | ||||
|                 `AuthUserId`     bigint(20) DEFAULT NULL, | ||||
|                 `UserId`         bigint(20) DEFAULT NULL, | ||||
|                 `DateFrom`       datetime(6) NOT NULL, | ||||
|                 `DateTo`         datetime(6) NOT NULL | ||||
|             ); | ||||
|             """ | ||||
|         ) | ||||
|  | ||||
|     def _auto_role_rules(self): | ||||
|         self._cursor.execute( | ||||
|             f""" | ||||
|             CREATE TABLE IF NOT EXISTS `AutoRoleRulesHistory` | ||||
|             ( | ||||
|                 `AutoRoleRuleId`   bigint(20) NOT NULL, | ||||
|                 `AutoRoleId`       bigint(20)  DEFAULT NULL, | ||||
|                 `DiscordEmojiName` varchar(64) DEFAULT NULL, | ||||
|                 `DiscordRoleId`    bigint(20) NOT NULL, | ||||
|                 `DateFrom`       datetime(6) NOT NULL, | ||||
|                 `DateTo`         datetime(6) NOT NULL | ||||
|             ); | ||||
|             """ | ||||
|         ) | ||||
|  | ||||
|     def _auto_roles(self): | ||||
|         self._cursor.execute( | ||||
|             f""" | ||||
|             CREATE TABLE IF NOT EXISTS `AutoRolesHistory` | ||||
|             ( | ||||
|                 `AutoRoleId`       bigint(20) NOT NULL, | ||||
|                 `ServerId`         bigint(20)  DEFAULT NULL, | ||||
|                 `DiscordChannelId` bigint(20) NOT NULL, | ||||
|                 `DiscordMessageId` bigint(20) NOT NULL, | ||||
|                 `DateFrom`       datetime(6) NOT NULL, | ||||
|                 `DateTo`         datetime(6) NOT NULL | ||||
|             ); | ||||
|             """ | ||||
|         ) | ||||
|  | ||||
|     def _clients_history(self): | ||||
|         self._cursor.execute( | ||||
|             f""" | ||||
|             CREATE TABLE IF NOT EXISTS `ClientsHistory` | ||||
|             ( | ||||
|                 `ClientId`              bigint(20) NOT NULL, | ||||
|                 `DiscordClientId`       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, | ||||
|                 `DateFrom`       datetime(6) NOT NULL, | ||||
|                 `DateTo`         datetime(6) NOT NULL | ||||
|             ); | ||||
|             """ | ||||
|         ) | ||||
|  | ||||
|     def _game_servers(self): | ||||
|         self._cursor.execute( | ||||
|             f""" | ||||
|             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, | ||||
|                 `DateFrom`       datetime(6) NOT NULL, | ||||
|                 `DateTo`         datetime(6) NOT NULL | ||||
|                 `Id`             BIGINT(20)   NOT NULL, | ||||
|                 `Name`           VARCHAR(255) NOT NULL, | ||||
|                 `ServerId`       BIGINT(20)   NOT NULL, | ||||
|                 `ApiKeyId`       BIGINT(20)   NOT NULL, | ||||
|                 `DateFrom`       DATETIME(6) NOT NULL, | ||||
|                 `DateTo`         DATETIME(6) NOT NULL | ||||
|             ); | ||||
|             """ | ||||
|         ) | ||||
| @@ -165,10 +34,10 @@ class DBHistoryMigration(MigrationABC): | ||||
|             f""" | ||||
|             CREATE TABLE IF NOT EXISTS `KnownUsersHistory` | ||||
|             ( | ||||
|                 `KnownUserId`    bigint(20) NOT NULL, | ||||
|                 `DiscordId`      bigint(20) NOT NULL, | ||||
|                 `DateFrom`       datetime(6) NOT NULL, | ||||
|                 `DateTo`         datetime(6) NOT NULL | ||||
|                 `KnownUserId`    BIGINT(20) NOT NULL, | ||||
|                 `DiscordId`      BIGINT(20) NOT NULL, | ||||
|                 `DateFrom`       DATETIME(6) NOT NULL, | ||||
|                 `DateTo`         DATETIME(6) NOT NULL | ||||
|             ); | ||||
|             """ | ||||
|         ) | ||||
| @@ -178,14 +47,14 @@ class DBHistoryMigration(MigrationABC): | ||||
|             f""" | ||||
|             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, | ||||
|                 `DateFrom`       datetime(6) NOT NULL, | ||||
|                 `DateTo`         datetime(6) NOT NULL | ||||
|                 `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, | ||||
|                 `DateFrom`       DATETIME(6) NOT NULL, | ||||
|                 `DateTo`         DATETIME(6) NOT NULL | ||||
|             ); | ||||
|             """ | ||||
|         ) | ||||
| @@ -195,10 +64,10 @@ class DBHistoryMigration(MigrationABC): | ||||
|             f""" | ||||
|             CREATE TABLE IF NOT EXISTS `ServersHistory` | ||||
|             ( | ||||
|                 `ServerId`        bigint(20) NOT NULL, | ||||
|                 `DiscordServerId` bigint(20) NOT NULL, | ||||
|                 `DateFrom`       datetime(6) NOT NULL, | ||||
|                 `DateTo`         datetime(6) NOT NULL | ||||
|                 `ServerId`        BIGINT(20) NOT NULL, | ||||
|                 `DiscordServerId` BIGINT(20) NOT NULL, | ||||
|                 `DateFrom`       DATETIME(6) NOT NULL, | ||||
|                 `DateTo`         DATETIME(6) NOT NULL | ||||
|             ); | ||||
|             """ | ||||
|         ) | ||||
| @@ -208,12 +77,12 @@ class DBHistoryMigration(MigrationABC): | ||||
|             f""" | ||||
|             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, | ||||
|                 `DateFrom`       datetime(6) NOT NULL, | ||||
|                 `DateTo`         datetime(6) NOT NULL | ||||
|                 `Id`             BIGINT(20)   NOT NULL, | ||||
|                 `UserId`         BIGINT(20)   NOT NULL, | ||||
|                 `GameServerId`   BIGINT(20)   NOT NULL, | ||||
|                 `Ident`          VARCHAR(255) NOT NULL, | ||||
|                 `DateFrom`       DATETIME(6) NOT NULL, | ||||
|                 `DateTo`         DATETIME(6) NOT NULL | ||||
|             ); | ||||
|             """ | ||||
|         ) | ||||
| @@ -223,13 +92,13 @@ class DBHistoryMigration(MigrationABC): | ||||
|             f""" | ||||
|             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, | ||||
|                 `DateFrom`       datetime(6) NOT NULL, | ||||
|                 `DateTo`         datetime(6) NOT NULL | ||||
|                 `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, | ||||
|                 `DateFrom`       DATETIME(6) NOT NULL, | ||||
|                 `DateTo`         DATETIME(6) NOT NULL | ||||
|             ); | ||||
|             """ | ||||
|         ) | ||||
| @@ -239,12 +108,12 @@ class DBHistoryMigration(MigrationABC): | ||||
|             f""" | ||||
|             CREATE TABLE IF NOT EXISTS `UserJoinedServersHistory` | ||||
|             ( | ||||
|                 `JoinId`         bigint(20)  NOT NULL, | ||||
|                 `UserId`         bigint(20)  NOT NULL, | ||||
|                 `JoinedOn`       datetime(6) NOT NULL, | ||||
|                 `LeavedOn`       datetime(6) DEFAULT NULL, | ||||
|                 `DateFrom`       datetime(6) NOT NULL, | ||||
|                 `DateTo`         datetime(6) NOT NULL | ||||
|                 `JoinId`         BIGINT(20)  NOT NULL, | ||||
|                 `UserId`         BIGINT(20)  NOT NULL, | ||||
|                 `JoinedOn`       DATETIME(6) NOT NULL, | ||||
|                 `LeavedOn`       DATETIME(6) DEFAULT NULL, | ||||
|                 `DateFrom`       DATETIME(6) NOT NULL, | ||||
|                 `DateTo`         DATETIME(6) NOT NULL | ||||
|             ); | ||||
|             """ | ||||
|         ) | ||||
| @@ -254,13 +123,13 @@ class DBHistoryMigration(MigrationABC): | ||||
|             f""" | ||||
|             CREATE TABLE IF NOT EXISTS `UserJoinedVoiceChannelHistory` | ||||
|             ( | ||||
|                 `JoinId`           bigint(20)  NOT NULL, | ||||
|                 `UserId`           bigint(20)  NOT NULL, | ||||
|                 `DiscordChannelId` bigint(20)  NOT NULL, | ||||
|                 `JoinedOn`         datetime(6) NOT NULL, | ||||
|                 `LeavedOn`         datetime(6) DEFAULT NULL, | ||||
|                 `DateFrom`       datetime(6) NOT NULL, | ||||
|                 `DateTo`         datetime(6) NOT NULL | ||||
|                 `JoinId`           BIGINT(20)  NOT NULL, | ||||
|                 `UserId`           BIGINT(20)  NOT NULL, | ||||
|                 `DiscordChannelId` BIGINT(20)  NOT NULL, | ||||
|                 `JoinedOn`         DATETIME(6) NOT NULL, | ||||
|                 `LeavedOn`         DATETIME(6) DEFAULT NULL, | ||||
|                 `DateFrom`       DATETIME(6) NOT NULL, | ||||
|                 `DateTo`         DATETIME(6) NOT NULL | ||||
|             ); | ||||
|             """ | ||||
|         ) | ||||
| @@ -270,13 +139,13 @@ class DBHistoryMigration(MigrationABC): | ||||
|             f""" | ||||
|             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, | ||||
|                 `DateFrom`       datetime(6) NOT NULL, | ||||
|                 `DateTo`         datetime(6) NOT NULL | ||||
|                 `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, | ||||
|                 `DateFrom`       DATETIME(6) NOT NULL, | ||||
|                 `DateTo`         DATETIME(6) NOT NULL | ||||
|             ); | ||||
|             """ | ||||
|         ) | ||||
| @@ -286,12 +155,12 @@ class DBHistoryMigration(MigrationABC): | ||||
|             f""" | ||||
|             CREATE TABLE IF NOT EXISTS `UsersHistory` | ||||
|             ( | ||||
|                 `UserId`         bigint(20) NOT NULL, | ||||
|                 `DiscordId`      bigint(20) NOT NULL, | ||||
|                 `XP`             bigint(20) NOT NULL DEFAULT 0, | ||||
|                 `ServerId`       bigint(20)          DEFAULT NULL, | ||||
|                 `DateFrom`       datetime(6) NOT NULL, | ||||
|                 `DateTo`         datetime(6) NOT NULL | ||||
|                 `UserId`         BIGINT(20) NOT NULL, | ||||
|                 `DiscordId`      BIGINT(20) NOT NULL, | ||||
|                 `XP`             BIGINT(20) NOT NULL DEFAULT 0, | ||||
|                 `ServerId`       BIGINT(20)          DEFAULT NULL, | ||||
|                 `DateFrom`       DATETIME(6) NOT NULL, | ||||
|                 `DateTo`         DATETIME(6) NOT NULL | ||||
|             ); | ||||
|             """ | ||||
|         ) | ||||
| @@ -301,12 +170,12 @@ class DBHistoryMigration(MigrationABC): | ||||
|             f""" | ||||
|             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, | ||||
|                 `DateFrom`       datetime(6) NOT NULL, | ||||
|                 `DateTo`         datetime(6) NOT NULL | ||||
|                 `Id`             BIGINT(20)   NOT NULL, | ||||
|                 `Description`    VARCHAR(255) NOT NULL, | ||||
|                 `UserId`         BIGINT(20)   NOT NULL, | ||||
|                 `Author`         BIGINT(20)  DEFAULT NULL, | ||||
|                 `DateFrom`       DATETIME(6) NOT NULL, | ||||
|                 `DateTo`         DATETIME(6) NOT NULL | ||||
|             ); | ||||
|             """ | ||||
|         ) | ||||
| @@ -314,23 +183,26 @@ class DBHistoryMigration(MigrationABC): | ||||
|     def upgrade(self): | ||||
|         self._logger.debug(__name__, "Running upgrade") | ||||
|  | ||||
|         self._api_keys() | ||||
|         self._auth_users() | ||||
|         self._auth_user_users_relation() | ||||
|         self._auto_role_rules() | ||||
|         self._auto_roles() | ||||
|         self._clients_history() | ||||
|         self._game_servers() | ||||
|         self._known_users() | ||||
|         self._levels() | ||||
|         self._servers() | ||||
|         self._user_game_idents() | ||||
|         self._user_joined_game_server() | ||||
|         self._user_joined_server() | ||||
|         self._user_joined_voice_channel() | ||||
|         self._user_message_count_per_hour() | ||||
|         self._users() | ||||
|         self._user_warnings() | ||||
|         self._cursor.execute( | ||||
|             open(f"{os.path.dirname(os.path.realpath(__file__))}/db_history_scripts/api_keys.sql").read() | ||||
|         ) | ||||
|         self._cursor.execute( | ||||
|             open(f"{os.path.dirname(os.path.realpath(__file__))}/db_history_scripts/auth_users.sql").read() | ||||
|         ) | ||||
|         self._cursor.execute( | ||||
|             open( | ||||
|                 f"{os.path.dirname(os.path.realpath(__file__))}/db_history_scripts/auth_user_users_relation.sql" | ||||
|             ).read() | ||||
|         ) | ||||
|         self._cursor.execute( | ||||
|             open(f"{os.path.dirname(os.path.realpath(__file__))}/db_history_scripts/auto_role_rules.sql").read() | ||||
|         ) | ||||
|         self._cursor.execute( | ||||
|             open(f"{os.path.dirname(os.path.realpath(__file__))}/db_history_scripts/auto_roles.sql").read() | ||||
|         ) | ||||
|         self._cursor.execute( | ||||
|             open(f"{os.path.dirname(os.path.realpath(__file__))}/db_history_scripts/clients.sql").read() | ||||
|         ) | ||||
|  | ||||
|     def downgrade(self): | ||||
|         self._cursor.execute("DROP TABLE `ApiKeysHistory`;") | ||||
|   | ||||
| @@ -0,0 +1,49 @@ | ||||
| ALTER TABLE `ApiKeys` | ||||
|     MODIFY `LastModifiedAt` DATETIME(6) NULL ON UPDATE CURRENT_TIMESTAMP(6); | ||||
|  | ||||
| ALTER TABLE `ApiKeys` | ||||
|     ALTER COLUMN `CreatedAt` SET DEFAULT CURRENT_TIMESTAMP(6); | ||||
|  | ||||
| ALTER TABLE `ApiKeys` | ||||
|     ALTER COLUMN `LastModifiedAt` SET DEFAULT 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; | ||||
| @@ -0,0 +1,49 @@ | ||||
| ALTER TABLE `AuthUserUsersRelations` | ||||
|     MODIFY `LastModifiedAt` DATETIME(6) NULL ON UPDATE CURRENT_TIMESTAMP(6); | ||||
|  | ||||
| ALTER TABLE `AuthUserUsersRelations` | ||||
|     ALTER COLUMN `CreatedAt` SET DEFAULT CURRENT_TIMESTAMP(6); | ||||
|  | ||||
| ALTER TABLE `AuthUserUsersRelations` | ||||
|     ALTER COLUMN `LastModifiedAt` SET DEFAULT 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; | ||||
| @@ -0,0 +1,65 @@ | ||||
| ALTER TABLE `AuthUsers` | ||||
|     MODIFY `LastModifiedAt` DATETIME(6) NULL ON UPDATE CURRENT_TIMESTAMP(6); | ||||
|  | ||||
| ALTER TABLE `AuthUsers` | ||||
|     ALTER COLUMN `CreatedAt` SET DEFAULT CURRENT_TIMESTAMP(6); | ||||
|  | ||||
| ALTER TABLE `AuthUsers` | ||||
|     ALTER COLUMN `LastModifiedAt` SET DEFAULT 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; | ||||
| @@ -0,0 +1,49 @@ | ||||
| ALTER TABLE `AutoRoleRules` | ||||
|     MODIFY `LastModifiedAt` DATETIME(6) NULL ON UPDATE CURRENT_TIMESTAMP(6); | ||||
|  | ||||
| ALTER TABLE `AutoRoleRules` | ||||
|     ALTER COLUMN `CreatedAt` SET DEFAULT CURRENT_TIMESTAMP(6); | ||||
|  | ||||
| ALTER TABLE `AutoRoleRules` | ||||
|     ALTER COLUMN `LastModifiedAt` SET DEFAULT CURRENT_TIMESTAMP(6); | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `AutoRoleRulesHistory` | ||||
| ( | ||||
|     `AutoRoleRuleId`   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` ( | ||||
|         `AutoRoleRuleId`, `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` ( | ||||
|         `AutoRoleRuleId`, `AutoRoleId`, `DiscordEmojiName`, `DiscordRoleId`, `Deleted`, `DateFrom`, `DateTo` | ||||
|     ) | ||||
|     VALUES ( | ||||
|         OLD.AutoRoleRuleId, OLD.AutoRoleId, OLD.DiscordEmojiName, OLD.DiscordRoleId, TRUE, OLD.LastModifiedAt, CURRENT_TIMESTAMP(6) | ||||
|     ); | ||||
| END; | ||||
| @@ -0,0 +1,51 @@ | ||||
| ALTER TABLE `AutoRoles` | ||||
|     MODIFY `LastModifiedAt` DATETIME(6) NULL ON UPDATE CURRENT_TIMESTAMP(6); | ||||
|  | ||||
| ALTER TABLE `AutoRoles` | ||||
|     ALTER COLUMN `CreatedAt` SET DEFAULT CURRENT_TIMESTAMP(6); | ||||
|  | ||||
| ALTER TABLE `AutoRoles` | ||||
|     ALTER COLUMN `LastModifiedAt` SET DEFAULT CURRENT_TIMESTAMP(6); | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `AutoRolesHistory` | ||||
| ( | ||||
|     `AutoRoleId`       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` ( | ||||
|         `AutoRoleId`, `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` ( | ||||
|         `AutoRoleId`, `ServerId`, `DiscordChannelId`, `DiscordMessageId`, `Deleted`, `DateFrom`, `DateTo` | ||||
|     ) | ||||
|     VALUES ( | ||||
|         OLD.AutoRoleId, OLD.ServerId, OLD.DiscordChannelId, OLD.DiscordMessageId, TRUE, OLD.LastModifiedAt, | ||||
|         CURRENT_TIMESTAMP(6) | ||||
|     ); | ||||
| END; | ||||
| @@ -0,0 +1,57 @@ | ||||
| ALTER TABLE `Clients` | ||||
|     MODIFY `LastModifiedAt` DATETIME(6) NULL ON UPDATE CURRENT_TIMESTAMP(6); | ||||
|  | ||||
| ALTER TABLE `Clients` | ||||
|     ALTER COLUMN `CreatedAt` SET DEFAULT CURRENT_TIMESTAMP(6); | ||||
|  | ||||
| ALTER TABLE `Clients` | ||||
|     ALTER COLUMN `LastModifiedAt` SET DEFAULT CURRENT_TIMESTAMP(6); | ||||
|  | ||||
| CREATE TABLE IF NOT EXISTS `ClientsHistory` | ||||
| ( | ||||
|     `ClientId`              BIGINT(20)  NOT NULL, | ||||
|     `DiscordClientId`       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` ( | ||||
|         `ClientId`, `DiscordClientId`, `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` ( | ||||
|         `ClientId`, `DiscordClientId`, `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; | ||||
| @@ -220,9 +220,7 @@ class AuthUser(TableABC): | ||||
|                 `ForgotPasswordId`, | ||||
|                 `OAuthId`, | ||||
|                 `RefreshTokenExpiryTime`, | ||||
|                 `AuthRole`, | ||||
|                 `CreatedAt`, | ||||
|                 `LastModifiedAt` | ||||
|                 `AuthRole` | ||||
|             ) VALUES ( | ||||
|                 {self._auth_user_id},  | ||||
|                 '{self._first_name}', | ||||
| @@ -235,9 +233,7 @@ class AuthUser(TableABC): | ||||
|                 {"NULL" if self._forgot_password_id is None else f"'{self._forgot_password_id}'"}, | ||||
|                 {"NULL" if self._oauth_id is None else f"'{self._oauth_id}'"}, | ||||
|                 '{self._refresh_token_expire_time.isoformat()}', | ||||
|                 {self._auth_role_id.value}, | ||||
|                 '{self._created_at}',  | ||||
|                 '{self._modified_at}' | ||||
|                 {self._auth_role_id.value} | ||||
|             ) | ||||
|         """ | ||||
|         ) | ||||
| @@ -257,8 +253,7 @@ class AuthUser(TableABC): | ||||
|             `ForgotPasswordId` = {"NULL" if self._forgot_password_id is None else f"'{self._forgot_password_id}'"}, | ||||
|             `OAuthId` = {"NULL" if self._oauth_id is None else f"'{self._oauth_id}'"}, | ||||
|             `RefreshTokenExpiryTime` = '{self._refresh_token_expire_time.isoformat()}', | ||||
|             `AuthRole` = {self._auth_role_id.value}, | ||||
|             `LastModifiedAt` = '{self._modified_at}' | ||||
|             `AuthRole` = {self._auth_role_id.value} | ||||
|             WHERE `AuthUsers`.`Id` = {self._auth_user_id}; | ||||
|         """ | ||||
|         ) | ||||
|   | ||||
| @@ -68,12 +68,10 @@ class AuthUserUsersRelation(TableABC): | ||||
|         return str( | ||||
|             f""" | ||||
|             INSERT INTO `AuthUserUsersRelations` ( | ||||
|                 `AuthUserId`, `UserId`, `CreatedAt`, `LastModifiedAt` | ||||
|                 `AuthUserId`, `UserId` | ||||
|             ) VALUES ( | ||||
|                 {self._auth_user.id}, | ||||
|                 {self._user.id}, | ||||
|                 '{self._created_at}', | ||||
|                 '{self._modified_at}' | ||||
|                 {self._user.id} | ||||
|             ); | ||||
|         """ | ||||
|         ) | ||||
| @@ -83,9 +81,8 @@ class AuthUserUsersRelation(TableABC): | ||||
|         return str( | ||||
|             f""" | ||||
|             UPDATE `AuthUserUsersRelations` | ||||
|             SET `AuthUserId` = '{self._auth_user.id}',, | ||||
|             SET `AuthUserId` = '{self._auth_user.id}', | ||||
|             `UserId` = '{self._user.id}' | ||||
|             `LastModifiedAt` = '{self._modified_at}' | ||||
|             WHERE `AuthUserId` = {self._auth_user.id} | ||||
|             AND `UserId` = {self._user.id}; | ||||
|         """ | ||||
|   | ||||
| @@ -97,13 +97,11 @@ class AutoRole(TableABC): | ||||
|         return str( | ||||
|             f""" | ||||
|             INSERT INTO `AutoRoles` ( | ||||
|                 `ServerId`, `DiscordChannelId`, `DiscordMessageId`, `CreatedAt`, `LastModifiedAt` | ||||
|                 `ServerId`, `DiscordChannelId`, `DiscordMessageId` | ||||
|             ) VALUES ( | ||||
|                 {self._server.id}, | ||||
|                 {self._discord_channel_id}, | ||||
|                 {self._discord_message_id}, | ||||
|                 '{self._created_at}', | ||||
|                 '{self._modified_at}' | ||||
|                 {self._discord_message_id} | ||||
|             ); | ||||
|         """ | ||||
|         ) | ||||
| @@ -115,8 +113,7 @@ class AutoRole(TableABC): | ||||
|             UPDATE `AutoRoles` | ||||
|             SET `ServerId` = {self._server.id}, | ||||
|             `DiscordChannelId` = {self._discord_channel_id}, | ||||
|             `DiscordMessageId` = {self._discord_message_id}, | ||||
|             `LastModifiedAt` = '{self._modified_at}' | ||||
|             `DiscordMessageId` = {self._discord_message_id} | ||||
|             WHERE `AutoRoleId` = {self._auto_role_id}; | ||||
|         """ | ||||
|         ) | ||||
|   | ||||
| @@ -87,13 +87,11 @@ class AutoRoleRule(TableABC): | ||||
|         return str( | ||||
|             f""" | ||||
|             INSERT INTO `AutoRoleRules` ( | ||||
|                 `AutoRoleId`, `DiscordEmojiName`, `DiscordRoleId`, `CreatedAt`, `LastModifiedAt` | ||||
|                 `AutoRoleId`, `DiscordEmojiName`, `DiscordRoleId` | ||||
|             ) VALUES ( | ||||
|                 {self._auto_role.id}, | ||||
|                 '{self._discord_emoji_name}', | ||||
|                 {self._discord_role_id}, | ||||
|                 '{self._created_at}', | ||||
|                 '{self._modified_at}' | ||||
|                 {self._discord_role_id} | ||||
|             ); | ||||
|         """ | ||||
|         ) | ||||
| @@ -105,8 +103,7 @@ class AutoRoleRule(TableABC): | ||||
|             UPDATE `AutoRoleRules` | ||||
|             SET `AutoRoleId` = {self._auto_role.id}, | ||||
|             `DiscordEmojiName` = '{self._discord_emoji_name}', | ||||
|             `DiscordRoleId` = {self._discord_role_id}, | ||||
|             `LastModifiedAt` = '{self._modified_at}' | ||||
|             `DiscordRoleId` = {self._discord_role_id} | ||||
|             WHERE `AutoRoleRuleId` = {self._auto_role_rule_id}; | ||||
|         """ | ||||
|         ) | ||||
|   | ||||
| @@ -153,8 +153,6 @@ class Client(TableABC): | ||||
|                 `ReceivedCommandsCount`, | ||||
|                 `MovedUsersCount`, | ||||
|                 `ServerId`, | ||||
|                 `CreatedAt`, | ||||
|                 `LastModifiedAt` | ||||
|             ) VALUES ( | ||||
|                 {self._discord_client_id}, | ||||
|                 {self._sent_message_count}, | ||||
| @@ -162,9 +160,7 @@ class Client(TableABC): | ||||
|                 {self._deleted_message_count}, | ||||
|                 {self._received_message_count}, | ||||
|                 {self._moved_users_count}, | ||||
|                 {self._server.id}, | ||||
|                 '{self._created_at}', | ||||
|                 '{self._modified_at}' | ||||
|                 {self._server.id} | ||||
|             ); | ||||
|         """ | ||||
|         ) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user