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:
@@ -192,7 +192,7 @@ ${i.stack}`:` ${i.message}`:this.getLevel()===0&&typeof i=="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(r=>r.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 t=!1;this.db.query("PRAGMA table_info(sdk_sessions)").all().some(d=>d.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"),t=!0),this.db.query("PRAGMA table_info(pending_messages)").all().some(d=>d.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"),t=!0),this.db.query("PRAGMA table_info(observations)").all().some(d=>d.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"),t=!0),this.db.query("PRAGMA table_info(session_summaries)").all().some(d=>d.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"),t=!0),this.db.query("PRAGMA table_info(user_prompts)").all().some(d=>d.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"),t=!0),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(19,new Date().toISOString()),t?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,t){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(r=>r.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(r){throw this.db.run("ROLLBACK"),p.error("DB","Session ID column rename migration error",void 0,r),r}}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 t=!1;this.db.query("PRAGMA table_info(sdk_sessions)").all().some(d=>d.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"),t=!0),this.db.query("PRAGMA table_info(pending_messages)").all().some(d=>d.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"),t=!0),this.db.query("PRAGMA table_info(observations)").all().some(d=>d.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"),t=!0),this.db.query("PRAGMA table_info(session_summaries)").all().some(d=>d.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"),t=!0),this.db.query("PRAGMA table_info(user_prompts)").all().some(d=>d.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"),t=!0),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(19,new Date().toISOString()),t?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,t){this.db.prepare(`
|
||||
UPDATE sdk_sessions
|
||||
SET memory_session_id = ?
|
||||
WHERE id = ?
|
||||
|
||||
Reference in New Issue
Block a user