diff --git a/BOT/storage.py b/BOT/storage.py index bb2ae15..611dba0 100644 --- a/BOT/storage.py +++ b/BOT/storage.py @@ -137,6 +137,7 @@ CREATE TABLE IF NOT EXISTS teams_data ( members_json TEXT, captain_uid TEXT, guild_id TEXT, + clanrating INTEGER, created_unix INTEGER, updated_unix INTEGER ) @@ -154,6 +155,7 @@ CREATE TABLE IF NOT EXISTS team_members ( uid TEXT NOT NULL, nick TEXT, role TEXT NOT NULL DEFAULT 'player', + points INTEGER NOT NULL DEFAULT 0, joined_unix INTEGER, PRIMARY KEY (team_id, uid) ) @@ -180,6 +182,22 @@ _TEAM_NAME_HISTORY_INDEXES = [ ] +_TEAMS_POINTS_SQL = """ +CREATE TABLE IF NOT EXISTS teams_points ( + team_id INTEGER NOT NULL, + long_name TEXT, + unix_time INTEGER NOT NULL, + total_score INTEGER, + PRIMARY KEY (team_id, unix_time) +) +""" + +_TEAMS_POINTS_INDEXES = [ + "CREATE INDEX IF NOT EXISTS idx_teams_points_long_name ON teams_points(long_name COLLATE NOCASE)", + "CREATE INDEX IF NOT EXISTS idx_teams_points_unix_time ON teams_points(unix_time)", +] + + # --------------------------------------------------------------------------- # Init # --------------------------------------------------------------------------- @@ -215,9 +233,11 @@ async def _init_teams_db() -> None: await conn.execute(_TEAMS_DATA_SQL) await conn.execute(_TEAM_MEMBERS_SQL) await conn.execute(_TEAM_NAME_HISTORY_SQL) + await conn.execute(_TEAMS_POINTS_SQL) await _apply(conn, _TEAMS_DATA_INDEXES) await _apply(conn, _TEAM_MEMBERS_INDEXES) await _apply(conn, _TEAM_NAME_HISTORY_INDEXES) + await _apply(conn, _TEAMS_POINTS_INDEXES) await conn.commit()