Fixed db null handling #219 #229

Merged
edraft merged 4 commits from #219 into 1.0.0 2023-02-21 21:10:18 +01:00
3 changed files with 6 additions and 3 deletions
Showing only changes of commit f7dc8d135a - Show all commits

View File

@ -118,7 +118,8 @@ class UserJoinedGameServer(TableABC):
return str(
f"""
UPDATE `UserJoinedGameServer`
Ebola-Chan marked this conversation as resolved
Review

Wie wäre es hier mit:

def udpate_string(self) -> str:
    return str(
    	f"""
        UPDATE `UserJoinedGameServer`
        SET
        {"" if self._leaved_on is None else f"`LeavedOn` = '{self._leaved_on}',"}
        `LastModifiedAt` = '{self._modified_at}'
        WHERE `Id` = {self._id};
    """
    )

Somit wäre das SQL-Statement besser wartbar, sollte neue Variablen dazu kommen, welche Nullwerte beinhalten könnten.

Wie wäre es hier mit: ```python def udpate_string(self) -> str: return str( f""" UPDATE `UserJoinedGameServer` SET {"" if self._leaved_on is None else f"`LeavedOn` = '{self._leaved_on}',"} `LastModifiedAt` = '{self._modified_at}' WHERE `Id` = {self._id}; """ ) ``` Somit wäre das SQL-Statement besser wartbar, sollte neue Variablen dazu kommen, welche Nullwerte beinhalten könnten.
{"SET " if self._leaved_on is None else f"`LeavedOn` = '{self._leaved_on}',"}
SET

Wenn self._leaved_on nicht none ist, käme es hier nicht zum folgenden SQL-Statement:

UPDATE `UserJoinedGameServer`
`LeavedOn' = '20230221T20:58.000'
`LastModifiedAt` = '20230221T20:58.000'
WHERE `Id` = 1;

Welches durch das fehlende SET nicht ausgeführt werden kann?

Wenn ```self._leaved_on``` nicht none ist, käme es hier nicht zum folgenden SQL-Statement: ```sql UPDATE `UserJoinedGameServer` `LeavedOn' = '20230221T20:58.000' `LastModifiedAt` = '20230221T20:58.000' WHERE `Id` = 1; ``` Welches durch das fehlende ```SET``` nicht ausgeführt werden kann?
{"" if self._leaved_on is None else f"`LeavedOn` = '{self._leaved_on}',"}
`LastModifiedAt` = '{self._modified_at}'
WHERE `Id` = {self._id};
"""

View File

@ -116,7 +116,8 @@ class UserJoinedServer(TableABC):
return str(
f"""
UPDATE `UserJoinedServers`
{"SET " if self._leaved_on is None else f"`LeavedOn` = '{self._leaved_on}',"}
SET

Auch hier das SQL-Statement so implementieren für bessere Wartbarkeit.

Auch hier das SQL-Statement so implementieren für bessere Wartbarkeit.

Auch hier das SET-Problem

Auch hier das SET-Problem
{"" if self._leaved_on is None else f"`LeavedOn` = '{self._leaved_on}',"}
`LastModifiedAt` = '{self._modified_at}'
WHERE `UserId` = {self._user.id};
"""

View File

@ -125,7 +125,8 @@ class UserJoinedVoiceChannel(TableABC):
return str(
f"""
UPDATE `UserJoinedVoiceChannel`
{"SET " if self._leaved_on is None else f"`LeavedOn` = '{self._leaved_on}',"}
SET

Auch hier das SQL-Statement so implementieren für bessere Wartbarkeit.

Auch hier das SQL-Statement so implementieren für bessere Wartbarkeit.

Auch hier das SET-Problem

Auch hier das SET-Problem
{"" if self._leaved_on is None else f"`LeavedOn` = '{self._leaved_on}',"}
`LastModifiedAt` = '{self._modified_at}'
WHERE `JoinId` = {self._join_id};
"""