MCPcopy Create free account
hub / github.com/MemTensor/MemOS / migrateSkillTables

Method migrateSkillTables

packages/memos-core/src/storage/sqlite.ts:502–543  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

500 }
501
502 private migrateSkillTables(): void {
503 this.db.exec(`
504 CREATE TABLE IF NOT EXISTS skills (
505 id TEXT PRIMARY KEY,
506 name TEXT NOT NULL UNIQUE,
507 description TEXT NOT NULL DEFAULT '',
508 version INTEGER NOT NULL DEFAULT 1,
509 status TEXT NOT NULL DEFAULT 'active',
510 tags TEXT NOT NULL DEFAULT '[]',
511 source_type TEXT NOT NULL DEFAULT 'task',
512 dir_path TEXT NOT NULL DEFAULT '',
513 installed INTEGER NOT NULL DEFAULT 0,
514 created_at INTEGER NOT NULL,
515 updated_at INTEGER NOT NULL
516 );
517 CREATE INDEX IF NOT EXISTS idx_skills_status ON skills(status);
518 CREATE INDEX IF NOT EXISTS idx_skills_name ON skills(name);
519
520 CREATE TABLE IF NOT EXISTS skill_versions (
521 id TEXT PRIMARY KEY,
522 skill_id TEXT NOT NULL REFERENCES skills(id),
523 version INTEGER NOT NULL,
524 content TEXT NOT NULL,
525 changelog TEXT NOT NULL DEFAULT '',
526 upgrade_type TEXT NOT NULL DEFAULT 'create',
527 source_task_id TEXT,
528 metrics TEXT NOT NULL DEFAULT '{}',
529 created_at INTEGER NOT NULL,
530 UNIQUE(skill_id, version)
531 );
532 CREATE INDEX IF NOT EXISTS idx_skill_versions_skill ON skill_versions(skill_id);
533
534 CREATE TABLE IF NOT EXISTS task_skills (
535 task_id TEXT NOT NULL REFERENCES tasks(id),
536 skill_id TEXT NOT NULL REFERENCES skills(id),
537 relation TEXT NOT NULL DEFAULT 'generated_from',
538 version_at INTEGER NOT NULL DEFAULT 1,
539 created_at INTEGER NOT NULL,
540 PRIMARY KEY (task_id, skill_id)
541 );
542 `);
543 }
544
545 private migrateSkillId(): void {
546 const cols = this.db.prepare("PRAGMA table_info(chunks)").all() as Array<{ name: string }>;

Callers 1

migrateMethod · 0.95

Calls 1

execMethod · 0.80

Tested by

no test coverage detected