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};