decentralised message store
1import { schema } from "@/db/schema";
2import { AUTH_TOKEN, DB_URL } from "@/lib/env";
3import { createClient } from "@libsql/client";
4import { drizzle } from "drizzle-orm/libsql";
5import { migrate } from "drizzle-orm/libsql/migrator";
6
7const dbClient = createClient({
8 url: DB_URL,
9 authToken: AUTH_TOKEN,
10});
11
12const db = drizzle(dbClient, { schema });
13
14export default db;
15
16export const setupDbWithMigrations = async (migrationsFolder: string) => {
17 if (DB_URL !== ":memory:") return;
18 console.log("Performing migrations for an in-memory database.");
19 await migrate(db, { migrationsFolder });
20};