From 2e1bd050e1ea1e233262072db01e70d32abdb2ec Mon Sep 17 00:00:00 2001 From: Keith Solomon Date: Mon, 3 Aug 2026 21:47:46 -0500 Subject: [PATCH] Schema: add running_balance column to vault table --- functions.php | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/functions.php b/functions.php index e47662c..d66d7fe 100644 --- a/functions.php +++ b/functions.php @@ -30,11 +30,12 @@ function getDatabaseConnection() { // SQL to create the vault table if it doesn't exist $createTableSQL = "CREATE TABLE IF NOT EXISTS vault ( - id TEXT PRIMARY KEY, - user TEXT NOT NULL, - timestamp INTEGER NOT NULL, - description TEXT NOT NULL, - amount REAL NOT NULL + id TEXT PRIMARY KEY, + user TEXT NOT NULL, + timestamp INTEGER NOT NULL, + description TEXT NOT NULL, + amount REAL NOT NULL, + running_balance INTEGER );"; if ($pdo === null) { @@ -43,6 +44,13 @@ function getDatabaseConnection() { $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->exec($createTableSQL); + + // Add the running_balance column for databases created before the + // column was added. Idempotent: skip if it already exists. + $columns = $pdo->query("PRAGMA table_info(vault)")->fetchAll(PDO::FETCH_COLUMN, 1); + if (!in_array('running_balance', $columns, true)) { + $pdo->exec('ALTER TABLE vault ADD COLUMN running_balance INTEGER'); + } } catch (PDOException $e) { die("Database connection failed: " . $e->getMessage()); }