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:
+17
-17
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user