rename long_name → name in TSS teams schema

teams_data and team_name_history used long_name (an SRE concept for
teams with both a long and short name). TSS teams have one name only.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
deploy
2026-06-08 01:07:37 +00:00
parent abab7ea9fa
commit d07afdee21
+17 -17
View File
@@ -126,14 +126,14 @@ _PLAYER_GAMES_INDEXES = [
_TEAMS_DATA_SQL = """ _TEAMS_DATA_SQL = """
CREATE TABLE IF NOT EXISTS teams_data ( CREATE TABLE IF NOT EXISTS teams_data (
team_id INTEGER PRIMARY KEY, team_id INTEGER PRIMARY KEY,
long_name TEXT NOT NULL, name TEXT NOT NULL,
members INTEGER NOT NULL DEFAULT 0, members INTEGER NOT NULL DEFAULT 0,
captain_uid TEXT captain_uid TEXT
) )
""" """
_TEAMS_DATA_INDEXES = [ _TEAMS_DATA_INDEXES = [
"CREATE INDEX IF NOT EXISTS idx_teams_data_long_name ON teams_data(long_name COLLATE NOCASE)", "CREATE INDEX IF NOT EXISTS idx_teams_data_name ON teams_data(name COLLATE NOCASE)",
] ]
@@ -155,15 +155,15 @@ _TEAM_MEMBERS_INDEXES = [
_TEAM_NAME_HISTORY_SQL = """ _TEAM_NAME_HISTORY_SQL = """
CREATE TABLE IF NOT EXISTS team_name_history ( CREATE TABLE IF NOT EXISTS team_name_history (
team_id INTEGER NOT NULL, team_id INTEGER NOT NULL,
long_name TEXT NOT NULL, name TEXT NOT NULL,
first_seen INTEGER, first_seen INTEGER,
last_seen INTEGER, last_seen INTEGER,
PRIMARY KEY (team_id, long_name) PRIMARY KEY (team_id, name)
) )
""" """
_TEAM_NAME_HISTORY_INDEXES = [ _TEAM_NAME_HISTORY_INDEXES = [
"CREATE INDEX IF NOT EXISTS idx_team_name_history_name ON team_name_history(long_name COLLATE NOCASE)", "CREATE INDEX IF NOT EXISTS idx_team_name_history_name ON team_name_history(name COLLATE NOCASE)",
] ]
@@ -250,7 +250,7 @@ async def _init_teams_db() -> None:
await conn.execute(_TEAM_NAME_HISTORY_SQL) await conn.execute(_TEAM_NAME_HISTORY_SQL)
await conn.execute("DROP TABLE IF EXISTS teams_points") await conn.execute("DROP TABLE IF EXISTS teams_points")
await _rebuild_table(conn, "teams_data", _TEAMS_DATA_SQL, [ await _rebuild_table(conn, "teams_data", _TEAMS_DATA_SQL, [
"team_id", "long_name", "members", "captain_uid", "team_id", "name", "members", "captain_uid",
]) ])
await _rebuild_table(conn, "team_members", _TEAM_MEMBERS_SQL, [ await _rebuild_table(conn, "team_members", _TEAM_MEMBERS_SQL, [
"team_id", "uid", "role", "team_id", "uid", "role",
@@ -463,10 +463,10 @@ async def upsert_tss_teams(game: Dict[str, Any]) -> None:
] ]
await conn.execute( await conn.execute(
""" """
INSERT INTO teams_data (team_id, long_name, members, captain_uid) INSERT INTO teams_data (team_id, name, members, captain_uid)
VALUES (?, ?, ?, ?) VALUES (?, ?, ?, ?)
ON CONFLICT(team_id) DO UPDATE SET ON CONFLICT(team_id) DO UPDATE SET
long_name = excluded.long_name, name = excluded.name,
members = excluded.members, members = excluded.members,
captain_uid = excluded.captain_uid captain_uid = excluded.captain_uid
""", """,
@@ -474,9 +474,9 @@ async def upsert_tss_teams(game: Dict[str, Any]) -> None:
) )
await conn.execute( await conn.execute(
""" """
INSERT INTO team_name_history (team_id, long_name, first_seen, last_seen) INSERT INTO team_name_history (team_id, name, first_seen, last_seen)
VALUES (?, ?, ?, ?) VALUES (?, ?, ?, ?)
ON CONFLICT(team_id, long_name) DO UPDATE SET last_seen = excluded.last_seen ON CONFLICT(team_id, name) DO UPDATE SET last_seen = excluded.last_seen
""", """,
(team_id, team_name, seen_unix, seen_unix), (team_id, team_name, seen_unix, seen_unix),
) )
@@ -512,10 +512,10 @@ async def resolve_team(name_or_id: str) -> Optional[Dict[str, Any]]:
conn.row_factory = aiosqlite.Row conn.row_factory = aiosqlite.Row
async with conn.execute( async with conn.execute(
""" """
SELECT team_id, long_name SELECT team_id, name
FROM teams_data FROM teams_data
WHERE team_id = ?1 WHERE team_id = ?1
OR long_name = ?2 COLLATE NOCASE OR name = ?2 COLLATE NOCASE
LIMIT 1 LIMIT 1
""", """,
(as_id, text), (as_id, text),
@@ -532,8 +532,8 @@ async def search_teams(query: str, limit: int = 25) -> List[Dict[str, Any]]:
if not q: if not q:
async with conn.execute( async with conn.execute(
""" """
SELECT team_id, long_name FROM teams_data SELECT team_id, name FROM teams_data
ORDER BY members DESC, long_name COLLATE NOCASE ORDER BY members DESC, name COLLATE NOCASE
LIMIT ? LIMIT ?
""", """,
(limit,), (limit,),
@@ -543,10 +543,10 @@ async def search_teams(query: str, limit: int = 25) -> List[Dict[str, Any]]:
like = f"%{q}%" like = f"%{q}%"
async with conn.execute( async with conn.execute(
""" """
SELECT team_id, long_name FROM teams_data SELECT team_id, name FROM teams_data
WHERE long_name LIKE ?1 COLLATE NOCASE WHERE name LIKE ?1 COLLATE NOCASE
ORDER BY CASE ORDER BY CASE
WHEN long_name = ?2 COLLATE NOCASE THEN 0 WHEN name = ?2 COLLATE NOCASE THEN 0
ELSE 1 ELSE 1
END END
LIMIT ?3 LIMIT ?3