This commit is contained in:
aaron 2026-05-14 22:17:21 +08:00
parent 4f025c3736
commit 13ffe63dbd

View File

@ -35,9 +35,10 @@ class Database:
@contextmanager
def connect(self) -> Iterator[sqlite3.Connection]:
conn = sqlite3.connect(self.path)
conn = sqlite3.connect(self.path, timeout=30)
conn.row_factory = sqlite3.Row
conn.execute("PRAGMA foreign_keys = ON")
conn.execute("PRAGMA busy_timeout = 30000")
try:
yield conn
conn.commit()
@ -136,11 +137,12 @@ class Database:
conn.execute(
"ALTER TABLE routing_rules ADD COLUMN card_body_template TEXT NOT NULL DEFAULT '{{symbol}} {{timeframe}} {{strategy}} {{action}} @ {{price}}'"
)
admin = conn.execute("SELECT id FROM admin_settings WHERE id = 1").fetchone()
if not admin:
now = now_iso()
conn.execute(
"INSERT INTO admin_settings (id, password_hash, created_at, updated_at) VALUES (1, ?, ?, ?)",
"""
INSERT OR IGNORE INTO admin_settings (id, password_hash, created_at, updated_at)
VALUES (1, ?, ?, ?)
""",
(hash_password(settings.admin_password), now, now),
)