From 6056f3078d7a1d58ad1fd33d3c4d24ad7c43eb5e Mon Sep 17 00:00:00 2001 From: Leo Date: Fri, 22 May 2026 15:08:44 -0400 Subject: [PATCH] Fix admin seed: use INSERT OR IGNORE so admin/changeme user is always ensured, not just on empty DB --- admin_server.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/admin_server.py b/admin_server.py index 9f20939..a68f45f 100644 --- a/admin_server.py +++ b/admin_server.py @@ -298,13 +298,11 @@ def _seed_data(conn: sqlite3.Connection): ("Canteen",), ("Hobart",), ("Vollrath",), ("Metro",), ("Rubbermaid",), ("Cambro",), ("Other",), ]) - # Seed default admin user - existing = conn.execute("SELECT COUNT(*) FROM users").fetchone()[0] - if existing == 0: - conn.execute( - "INSERT INTO users (username, password_hash, role) VALUES (?, ?, ?)", - ("admin", "057ba03d6c44104863dc7361fe4578965d1887360f90a0895882e58a6248fc86", "admin"), - ) + # Ensure default admin user exists + conn.execute( + "INSERT OR IGNORE INTO users (username, password_hash, role) VALUES (?, ?, ?)", + ("admin", "057ba03d6c44104863dc7361fe4578965d1887360f90a0895882e58a6248fc86", "admin"), + ) def init_db(conn: sqlite3.Connection):