mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-08-28 05:27:24 +00:00
40 lines
899 B
TypeScript
40 lines
899 B
TypeScript
import { sql } from "drizzle-orm"
|
|
|
|
import { testDb, disconnect } from "./src/db/db.js"
|
|
|
|
async function resetTestDatabase() {
|
|
const db = testDb
|
|
|
|
if (!db) {
|
|
console.log("No database connection available, skipping database reset")
|
|
return
|
|
}
|
|
|
|
try {
|
|
const tables = await db.execute<{ table_name: string }>(sql`
|
|
SELECT table_name
|
|
FROM information_schema.tables
|
|
WHERE table_schema = 'public'
|
|
AND table_type = 'BASE TABLE';
|
|
`)
|
|
|
|
const tableNames = tables.map((t) => t.table_name)
|
|
|
|
for (const tableName of tableNames) {
|
|
await db.execute(sql`TRUNCATE TABLE "${sql.raw(tableName)}" CASCADE;`)
|
|
}
|
|
|
|
console.log(`[${process.env.DATABASE_URL}] TRUNCATE ${tableNames.join(", ")}`)
|
|
} catch (error) {
|
|
console.error("Error resetting database:", error)
|
|
throw error
|
|
}
|
|
}
|
|
|
|
export default async function () {
|
|
await resetTestDatabase()
|
|
|
|
return async () => {
|
|
await disconnect()
|
|
}
|
|
}
|