chore: diagnostic and fix script for catalog seeding
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
27
scripts/fixing.sh
Executable file
27
scripts/fixing.sh
Executable file
@@ -0,0 +1,27 @@
|
||||
set -e
|
||||
|
||||
echo "=== Step 1: Check global_items columns ==="
|
||||
bun -e 'import { db } from "./src/db/index.ts"; import { sql } from "drizzle-orm"; const result = await db.execute(sql`SELECT column_name FROM information_schema.columns WHERE table_name = '\''global_items'\'' ORDER BY ordinal_position`); console.log(result.rows.map(r => r.column_name));'
|
||||
|
||||
echo ""
|
||||
echo "=== Step 2: Push schema (adds any missing columns) ==="
|
||||
bun run db:push
|
||||
|
||||
echo ""
|
||||
echo "=== Step 3: Nuke all data ==="
|
||||
bun -e 'import { db } from "./src/db/index.ts"; import { apiKeys, categories, globalItemTags, globalItems, items, oauthCodes, oauthTokens, settings, setupItems, setups, tags, threadCandidates, threads, users } from "./src/db/schema.ts"; await db.delete(setupItems); await db.delete(setups); await db.delete(threadCandidates); await db.delete(threads); await db.delete(items); await db.delete(settings); await db.delete(apiKeys); await db.delete(oauthTokens); await db.delete(oauthCodes); await db.delete(categories); await db.delete(users); await db.delete(globalItemTags); await db.delete(tags); await db.delete(globalItems); console.log("Nuke complete");'
|
||||
|
||||
echo ""
|
||||
echo "=== Step 4: Re-seed ==="
|
||||
bun run db:seed:dev
|
||||
|
||||
echo ""
|
||||
echo "=== Step 5: Verify hobby tags exist ==="
|
||||
bun -e 'import { db } from "./src/db/index.ts"; import { tags, globalItemTags } from "./src/db/schema.ts"; import { inArray } from "drizzle-orm"; const hobbyNames = ["bikepacking","cycling","camping","hiking","backpacking","climbing","running"]; const found = await db.select().from(tags).where(inArray(tags.name, hobbyNames)); console.log("Hobby tags found:", found.map(t => t.name)); const allAssignments = await db.select().from(globalItemTags); console.log("Total tag assignments:", allAssignments.length);'
|
||||
|
||||
echo ""
|
||||
echo "=== Step 6: Test popular-items query ==="
|
||||
bun -e 'import { getPopularItemsByTags } from "./src/server/services/discovery.service.ts"; const results = await getPopularItemsByTags(undefined, ["bikepacking","cycling","camping"], 5); console.log("Popular items for bikepacking:", results.length); for (const r of results) console.log(" -", r.brand, r.model);'
|
||||
|
||||
echo ""
|
||||
echo "=== Done ==="
|
||||
Reference in New Issue
Block a user