CREATE TABLE IF NOTEXISTS records ( id INTEGERPRIMARY KEY AUTOINCREMENT, amount REALNOT NULL, kind TEXT NOT NULL, note TEXT, created_at TEXT NOT NULL );
definit_db(): with get_conn() as conn: conn.execute( """ CREATE TABLE IF NOT EXISTS records ( id INTEGER PRIMARY KEY AUTOINCREMENT, amount REAL NOT NULL, kind TEXT NOT NULL, note TEXT, created_at TEXT NOT NULL ) """ )
defadd_record(amount: float, kind: str, note: str): with get_conn() as conn: conn.execute( "INSERT INTO records(amount, kind, note, created_at) VALUES (?, ?, ?, ?)", (amount, kind, note, datetime.now().strftime("%Y-%m-%d %H:%M:%S")) )
deflist_records(limit=50): with get_conn() as conn: cur = conn.execute( "SELECT id, amount, kind, note, created_at FROM records ORDER BY id DESC LIMIT ?", (limit,) ) return cur.fetchall()
defdelete_record(record_id: int): with get_conn() as conn: conn.execute("DELETE FROM records WHERE id = ?", (record_id,))