From c3874d031ab025d1f37bfe27b19095eb29561c74 Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Mon, 13 Apr 2026 14:15:54 +0200 Subject: [PATCH] chore: temp script to nuke dev seed user Co-Authored-By: Claude Opus 4.6 (1M context) --- scripts/nuke-dev-user.ts | 54 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 scripts/nuke-dev-user.ts diff --git a/scripts/nuke-dev-user.ts b/scripts/nuke-dev-user.ts new file mode 100644 index 0000000..3662890 --- /dev/null +++ b/scripts/nuke-dev-user.ts @@ -0,0 +1,54 @@ +// Temporary script to delete dev seed user and all related data. +// Usage: bun run scripts/nuke-dev-user.ts && bun run db:seed:dev +// Delete this file after use. + +import { eq } from "drizzle-orm"; +import { db } from "../src/db/index.ts"; +import { + apiKeys, + categories, + items, + sessions, + settings, + setupItems, + setups, + threadCandidates, + threads, + users, +} from "../src/db/schema.ts"; + +const [user] = await db + .select() + .from(users) + .where(eq(users.logtoSub, "dev-user-seed")) + .limit(1); + +if (!user) { + console.log("No dev user found"); + process.exit(0); +} + +const uid = user.id; + +// Delete in FK order +const userSetups = await db.select().from(setups).where(eq(setups.userId, uid)); +for (const s of userSetups) + await db.delete(setupItems).where(eq(setupItems.setupId, s.id)); +await db.delete(setups).where(eq(setups.userId, uid)); + +const userThreads = await db + .select() + .from(threads) + .where(eq(threads.userId, uid)); +for (const t of userThreads) + await db.delete(threadCandidates).where(eq(threadCandidates.threadId, t.id)); +await db.delete(threads).where(eq(threads.userId, uid)); + +await db.delete(items).where(eq(items.userId, uid)); +await db.delete(settings).where(eq(settings.userId, uid)); +await db.delete(apiKeys).where(eq(apiKeys.userId, uid)); +await db.delete(sessions).where(eq(sessions.userId, uid)); +await db.delete(categories).where(eq(categories.userId, uid)); +await db.delete(users).where(eq(users.id, uid)); + +console.log("Dev user and all related data deleted");