diff --git a/server/db.py b/server/db.py index 2a50230..cf06c4a 100644 --- a/server/db.py +++ b/server/db.py @@ -62,6 +62,7 @@ def get_db(): conn = sqlite3.connect(DB_PATH) conn.row_factory = sqlite3.Row conn.execute("PRAGMA foreign_keys = ON") + conn.execute("PRAGMA busy_timeout = 5000") return conn @@ -70,24 +71,19 @@ def init_db(): conn = get_db() try: conn.executescript(SCHEMA) + conn.execute( + """ + INSERT OR IGNORE INTO users + (username, password_hash, display_name, is_admin, is_active, created_at) + VALUES (?, ?, ?, 1, 1, ?) + """, + ( + "admin", + generate_password_hash("admin123"), + "管理员", + now_iso(), + ), + ) conn.commit() - - admin = conn.execute( - "SELECT id FROM users WHERE username = ?", ("admin",) - ).fetchone() - if admin is None: - conn.execute( - """ - INSERT INTO users (username, password_hash, display_name, is_admin, is_active, created_at) - VALUES (?, ?, ?, 1, 1, ?) - """, - ( - "admin", - generate_password_hash("admin123"), - "管理员", - now_iso(), - ), - ) - conn.commit() finally: conn.close()