From 4c00a8d84a62c248e73fc33a0c7553464bc32779 Mon Sep 17 00:00:00 2001 From: Storme-bit Date: Thu, 20 Aug 2026 04:26:58 -0700 Subject: [PATCH] test --- packages/memory-service/src/db/migrations.js | 8 ++++++++ packages/memory-service/src/db/schema.js | 16 +++++++++------- scratch.js | 9 +++++++++ 3 files changed, 26 insertions(+), 7 deletions(-) create mode 100644 scratch.js diff --git a/packages/memory-service/src/db/migrations.js b/packages/memory-service/src/db/migrations.js index 1fbe97c..ead5e11 100644 --- a/packages/memory-service/src/db/migrations.js +++ b/packages/memory-service/src/db/migrations.js @@ -16,6 +16,14 @@ const migrations = [ // used to run (wrapped in try/catch) on every boot are folded into schema.js. // Nothing to do here — this entry exists to mark v1 as the consolidated baseline. (_db) => {}, + + (db) => { + db.exec(` + ALTER TABLE episodes ADD COLUMN last_accessed_at INTEGER; + ALTER TABLE episodes ADD COLUMN access_count INTEGER NOT NULL DEFAULT 0; + `) + db.exec(`UPDATE episdoes SET last_accessed_at = created_at WHERE last_accessed_at IS NULL`) + } ]; const LATEST_VERSION = migrations.length; diff --git a/packages/memory-service/src/db/schema.js b/packages/memory-service/src/db/schema.js index 44973a2..dd8cbc9 100644 --- a/packages/memory-service/src/db/schema.js +++ b/packages/memory-service/src/db/schema.js @@ -15,13 +15,15 @@ const schema = ` ); CREATE TABLE IF NOT EXISTS episodes ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - session_id INTEGER NOT NULL REFERENCES sessions(id) ON DELETE CASCADE, - user_message TEXT NOT NULL, - ai_response TEXT NOT NULL, - created_at INTEGER NOT NULL DEFAULT (unixepoch()), - token_count INTEGER, - metadata TEXT + id INTEGER PRIMARY KEY AUTOINCREMENT, + session_id INTEGER NOT NULL REFERENCES sessions(id) ON DELETE CASCADE, + user_message TEXT NOT NULL, + ai_response TEXT NOT NULL, + created_at INTEGER NOT NULL DEFAULT (unixepoch()), + token_count INTEGER, + metadata TEXT, + last_accessed_at INTEGER, + access_count INTEGER NOT NULL DEFAULT 0; ); CREATE TABLE IF NOT EXISTS entities ( diff --git a/scratch.js b/scratch.js new file mode 100644 index 0000000..79e6d57 --- /dev/null +++ b/scratch.js @@ -0,0 +1,9 @@ +// scratch.js — delete after +const Database = require('better-sqlite3'); +const { migrate, LATEST_VERSION } = require('./packages/memory-service/src/db/migrations'); +const db = new Database('data/nexusai.test.db'); +console.log('LATEST_VERSION:', LATEST_VERSION); // expect 2 +console.log('before:', db.pragma('user_version', { simple: true })); +migrate(db); +console.log('after:', db.pragma('user_version', { simple: true })); // expect 2 +console.log(db.prepare('SELECT last_accessed_at, access_count FROM episodes LIMIT 3').all()); \ No newline at end of file