Some checks failed
Release Workflow / checks (push) Has been cancelled
Release Workflow / e2e-tests (push) Has been cancelled
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
* test(e2e): admin user registration * ci: e2e workflow * feat: disable rate limiting env var * test(e2e): fix order of execution in registration tests * ci: run e2e tests before release
20 lines
757 B
TypeScript
20 lines
757 B
TypeScript
import { createClient } from "@libsql/client";
|
|
import { drizzle } from "drizzle-orm/libsql";
|
|
import path from "node:path";
|
|
import { DATABASE_URL } from "~/server/core/constants";
|
|
import * as schema from "~/server/db/schema";
|
|
|
|
const sqlite = createClient({ url: `file:${path.join(process.cwd(), "data", DATABASE_URL)}` });
|
|
|
|
export const db = drizzle({ client: sqlite, schema: schema });
|
|
|
|
export const resetDatabase = async () => {
|
|
const cursor = await sqlite.execute("SELECT name FROM sqlite_master WHERE type='table'");
|
|
const tables = cursor.rows
|
|
.map((row) => row.name)
|
|
.filter((name) => name !== "sqlite_sequence" && name !== "__drizzle_migrations") as string[];
|
|
|
|
for (const table of tables) {
|
|
await sqlite.execute(`DELETE FROM ${table}`);
|
|
}
|
|
};
|