fix: wrap migration 17 in transaction and update docs

- Add BEGIN/COMMIT/ROLLBACK to session ID column rename migration
- Update claude-desktop.mdx to reflect streamlined MCP tools
- Remove obsolete skill zip download instructions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Alex Newman
2025-12-28 23:43:34 -05:00
parent 678cfacca9
commit f1aa4c3943
4 changed files with 38 additions and 50 deletions
+1 -1
View File
@@ -243,7 +243,7 @@ ${s.stack}`:` ${s.message}`:this.getLevel()===0&&typeof s=="object"?l=`
completed_at_epoch INTEGER,
FOREIGN KEY (session_db_id) REFERENCES sdk_sessions(id) ON DELETE CASCADE
)
`),this.db.run("CREATE INDEX IF NOT EXISTS idx_pending_messages_session ON pending_messages(session_db_id)"),this.db.run("CREATE INDEX IF NOT EXISTS idx_pending_messages_status ON pending_messages(status)"),this.db.run("CREATE INDEX IF NOT EXISTS idx_pending_messages_claude_session ON pending_messages(content_session_id)"),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(16,new Date().toISOString()),P.info("DB","pending_messages table created successfully")}catch(e){throw P.error("DB","Pending messages table migration error",void 0,e),e}}renameSessionIdColumns(){try{if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(17))return;if(P.info("DB","Renaming session ID columns for semantic clarity"),this.db.query("PRAGMA table_info(sdk_sessions)").all().some(n=>n.name==="content_session_id")){this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(17,new Date().toISOString());return}this.db.run("ALTER TABLE sdk_sessions RENAME COLUMN claude_session_id TO content_session_id"),this.db.run("ALTER TABLE sdk_sessions RENAME COLUMN sdk_session_id TO memory_session_id"),this.db.run("ALTER TABLE pending_messages RENAME COLUMN claude_session_id TO content_session_id"),this.db.run("ALTER TABLE observations RENAME COLUMN sdk_session_id TO memory_session_id"),this.db.run("ALTER TABLE session_summaries RENAME COLUMN sdk_session_id TO memory_session_id"),this.db.run("ALTER TABLE user_prompts RENAME COLUMN claude_session_id TO content_session_id"),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(17,new Date().toISOString()),P.info("DB","Successfully renamed session ID columns")}catch(e){throw P.error("DB","Session ID column rename migration error",void 0,e),e}}repairSessionIdColumnRename(){try{if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(19))return;P.info("DB","Checking session ID column renames (repair migration)");let r=!1;this.db.query("PRAGMA table_info(sdk_sessions)").all().some(c=>c.name==="claude_session_id")&&(P.info("DB","Repairing sdk_sessions columns"),this.db.run("ALTER TABLE sdk_sessions RENAME COLUMN claude_session_id TO content_session_id"),this.db.run("ALTER TABLE sdk_sessions RENAME COLUMN sdk_session_id TO memory_session_id"),r=!0),this.db.query("PRAGMA table_info(pending_messages)").all().some(c=>c.name==="claude_session_id")&&(P.info("DB","Repairing pending_messages columns"),this.db.run("ALTER TABLE pending_messages RENAME COLUMN claude_session_id TO content_session_id"),r=!0),this.db.query("PRAGMA table_info(observations)").all().some(c=>c.name==="sdk_session_id")&&(P.info("DB","Repairing observations columns"),this.db.run("ALTER TABLE observations RENAME COLUMN sdk_session_id TO memory_session_id"),r=!0),this.db.query("PRAGMA table_info(session_summaries)").all().some(c=>c.name==="sdk_session_id")&&(P.info("DB","Repairing session_summaries columns"),this.db.run("ALTER TABLE session_summaries RENAME COLUMN sdk_session_id TO memory_session_id"),r=!0),this.db.query("PRAGMA table_info(user_prompts)").all().some(c=>c.name==="claude_session_id")&&(P.info("DB","Repairing user_prompts columns"),this.db.run("ALTER TABLE user_prompts RENAME COLUMN claude_session_id TO content_session_id"),r=!0),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(19,new Date().toISOString()),r?P.info("DB","Session ID column rename repairs completed"):P.info("DB","No session ID column repairs needed")}catch(e){throw P.error("DB","Session ID column rename repair error",void 0,e),e}}updateMemorySessionId(e,r){this.db.prepare(`
`),this.db.run("CREATE INDEX IF NOT EXISTS idx_pending_messages_session ON pending_messages(session_db_id)"),this.db.run("CREATE INDEX IF NOT EXISTS idx_pending_messages_status ON pending_messages(status)"),this.db.run("CREATE INDEX IF NOT EXISTS idx_pending_messages_claude_session ON pending_messages(content_session_id)"),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(16,new Date().toISOString()),P.info("DB","pending_messages table created successfully")}catch(e){throw P.error("DB","Pending messages table migration error",void 0,e),e}}renameSessionIdColumns(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(17))return;if(this.db.query("PRAGMA table_info(sdk_sessions)").all().some(n=>n.name==="content_session_id")){this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(17,new Date().toISOString());return}P.info("DB","Renaming session ID columns for semantic clarity"),this.db.run("BEGIN TRANSACTION");try{this.db.run("ALTER TABLE sdk_sessions RENAME COLUMN claude_session_id TO content_session_id"),this.db.run("ALTER TABLE sdk_sessions RENAME COLUMN sdk_session_id TO memory_session_id"),this.db.run("ALTER TABLE pending_messages RENAME COLUMN claude_session_id TO content_session_id"),this.db.run("ALTER TABLE observations RENAME COLUMN sdk_session_id TO memory_session_id"),this.db.run("ALTER TABLE session_summaries RENAME COLUMN sdk_session_id TO memory_session_id"),this.db.run("ALTER TABLE user_prompts RENAME COLUMN claude_session_id TO content_session_id"),this.db.run("COMMIT"),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(17,new Date().toISOString()),P.info("DB","Successfully renamed session ID columns")}catch(n){throw this.db.run("ROLLBACK"),P.error("DB","Session ID column rename migration error",void 0,n),n}}repairSessionIdColumnRename(){try{if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(19))return;P.info("DB","Checking session ID column renames (repair migration)");let r=!1;this.db.query("PRAGMA table_info(sdk_sessions)").all().some(c=>c.name==="claude_session_id")&&(P.info("DB","Repairing sdk_sessions columns"),this.db.run("ALTER TABLE sdk_sessions RENAME COLUMN claude_session_id TO content_session_id"),this.db.run("ALTER TABLE sdk_sessions RENAME COLUMN sdk_session_id TO memory_session_id"),r=!0),this.db.query("PRAGMA table_info(pending_messages)").all().some(c=>c.name==="claude_session_id")&&(P.info("DB","Repairing pending_messages columns"),this.db.run("ALTER TABLE pending_messages RENAME COLUMN claude_session_id TO content_session_id"),r=!0),this.db.query("PRAGMA table_info(observations)").all().some(c=>c.name==="sdk_session_id")&&(P.info("DB","Repairing observations columns"),this.db.run("ALTER TABLE observations RENAME COLUMN sdk_session_id TO memory_session_id"),r=!0),this.db.query("PRAGMA table_info(session_summaries)").all().some(c=>c.name==="sdk_session_id")&&(P.info("DB","Repairing session_summaries columns"),this.db.run("ALTER TABLE session_summaries RENAME COLUMN sdk_session_id TO memory_session_id"),r=!0),this.db.query("PRAGMA table_info(user_prompts)").all().some(c=>c.name==="claude_session_id")&&(P.info("DB","Repairing user_prompts columns"),this.db.run("ALTER TABLE user_prompts RENAME COLUMN claude_session_id TO content_session_id"),r=!0),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(19,new Date().toISOString()),r?P.info("DB","Session ID column rename repairs completed"):P.info("DB","No session ID column repairs needed")}catch(e){throw P.error("DB","Session ID column rename repair error",void 0,e),e}}updateMemorySessionId(e,r){this.db.prepare(`
UPDATE sdk_sessions
SET memory_session_id = ?
WHERE id = ?