scai
Version:
> **AI-powered CLI for local code analysis, commit message suggestions, and natural-language queries.** 100% local, private, GDPR-friendly, made in Denmark/EU with ❤️.
48 lines (47 loc) • 1.74 kB
JavaScript
// scripts/migrateDb.ts
import { getDbForRepo } from "../db/client.js";
import { log } from "../utils/log.js";
// scripts/resetFunctionExtraction.ts
const db = getDbForRepo();
try {
db.prepare(`DELETE FROM function_calls`).run();
log("✅ Deleted all rows from function_calls.");
db.prepare(`DELETE FROM functions`).run();
log("✅ Deleted all rows from functions.");
db.prepare(`
UPDATE files
SET processing_status = 'unprocessed',
functions_extracted_at = NULL
`).run();
log("✅ Reset processing_status and functions_extracted_at in files table.");
}
catch (e) {
log(`❌ Reset failed: ${e instanceof Error ? e.message : e}`);
}
// try {
// // Add `processing_status` column if it doesn't exist
// db.prepare(`
// ALTER TABLE files ADD COLUMN processing_status TEXT DEFAULT 'unprocessed'
// `).run();
// log('✅ Added processing_status column.');
// } catch (e: unknown) {
// if (e instanceof Error && e.message.includes('duplicate column name')) {
// log('ℹ️ Column processing_status already exists. Skipping.');
// } else {
// log(`❌ Migration failed: ${e instanceof Error ? e.message : e}`);
// }
// }
// try {
// // Add `functions_extracted_at` column if it doesn't exist
// db.prepare(`
// ALTER TABLE files ADD COLUMN functions_extracted_at TEXT
// `).run();
// log('✅ Added functions_extracted_at column.');
// } catch (e: unknown) {
// if (e instanceof Error && e.message.includes('duplicate column name')) {
// log('ℹ️ Column functions_extracted_at already exists. Skipping.');
// } else {
// log(`❌ Migration failed: ${e instanceof Error ? e.message : e}`);
// }
// }
// Add more migration steps here as needed.