Add dev db reset command

This commit is contained in:
Dominic Ferrando
2026-07-03 22:38:07 -04:00
parent 66797e9a9d
commit 09667a0a0a
2 changed files with 13 additions and 1 deletions
+2 -1
View File
@@ -16,7 +16,8 @@
"db:migrate:latest": "bun run src/database/migrate.ts latest", "db:migrate:latest": "bun run src/database/migrate.ts latest",
"db:migrate:rollback": "bun run src/database/migrate.ts rollback", "db:migrate:rollback": "bun run src/database/migrate.ts rollback",
"db:migrate:up": "bun run src/database/migrate.ts up", "db:migrate:up": "bun run src/database/migrate.ts up",
"db:migrate:down": "bun run src/database/migrate.ts down" "db:migrate:down": "bun run src/database/migrate.ts down",
"db:migrate:reset": "bun run src/database/migrate.ts reset && bun run db:types:gen"
}, },
"dependencies": { "dependencies": {
"@blade-and-brawn/calculator": "workspace:*", "@blade-and-brawn/calculator": "workspace:*",
+11
View File
@@ -56,6 +56,17 @@ const handlers: Record<string, (migrator: Migrator) => Promise<HandlerResult>> =
} }
return { message: `rolled back ${count} migration(s)` }; return { message: `rolled back ${count} migration(s)` };
},
"reset": async function (migrator: Migrator) {
if (env.NODE_ENV !== "development") throw new Error("Development only command");
if (typeof handlers["rollback"] !== "function") throw new Error("Missing rollback handler");
await handlers["rollback"](migrator);
if (typeof handlers["latest"] !== "function") throw new Error("Missing latest handler");
await handlers["latest"](migrator);
return { message: "database fully reset" };
} }
}; };