MCPcopy Create free account
hub / github.com/ImGoodBai/MapGoGoGo / init_db

Function init_db

backend/app/db.py:30–130  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

28
29
30def init_db() -> None:
31 with connect() as conn:
32 conn.executescript(
33 """
34 CREATE TABLE IF NOT EXISTS participants (
35 id TEXT PRIMARY KEY,
36 nickname TEXT NOT NULL,
37 created_at TEXT NOT NULL,
38 updated_at TEXT NOT NULL
39 );
40
41 CREATE TABLE IF NOT EXISTS challenges (
42 id TEXT PRIMARY KEY,
43 name TEXT NOT NULL,
44 description TEXT NOT NULL DEFAULT '',
45 place_name TEXT NOT NULL,
46 center_lat REAL NOT NULL,
47 center_lng REAL NOT NULL,
48 radius_m INTEGER NOT NULL,
49 h3_resolution INTEGER NOT NULL,
50 status TEXT NOT NULL DEFAULT 'active',
51 starts_at TEXT NOT NULL,
52 ends_at TEXT NOT NULL,
53 created_by TEXT NOT NULL,
54 created_at TEXT NOT NULL,
55 FOREIGN KEY(created_by) REFERENCES participants(id)
56 );
57
58 CREATE TABLE IF NOT EXISTS challenge_cells (
59 challenge_id TEXT NOT NULL,
60 cell_id TEXT NOT NULL,
61 lat REAL NOT NULL,
62 lng REAL NOT NULL,
63 PRIMARY KEY (challenge_id, cell_id),
64 FOREIGN KEY(challenge_id) REFERENCES challenges(id) ON DELETE CASCADE
65 );
66
67 CREATE INDEX IF NOT EXISTS idx_challenge_cells_challenge
68 ON challenge_cells(challenge_id);
69
70 CREATE TABLE IF NOT EXISTS user_challenge_sessions (
71 id TEXT PRIMARY KEY,
72 challenge_id TEXT NOT NULL,
73 participant_id TEXT NOT NULL,
74 started_at TEXT NOT NULL,
75 ended_at TEXT,
76 last_seen_at TEXT NOT NULL,
77 FOREIGN KEY(challenge_id) REFERENCES challenges(id) ON DELETE CASCADE,
78 FOREIGN KEY(participant_id) REFERENCES participants(id) ON DELETE CASCADE
79 );
80
81 CREATE TABLE IF NOT EXISTS user_unlocked_cells (
82 challenge_id TEXT NOT NULL,
83 participant_id TEXT NOT NULL,
84 cell_id TEXT NOT NULL,
85 source TEXT NOT NULL,
86 accuracy_m REAL,
87 speed_mps REAL,

Callers 2

clientFunction · 0.90
lifespanFunction · 0.85

Calls 1

connectFunction · 0.85

Tested by 1

clientFunction · 0.72