UNPKG

@reliverse/rse

Version:

@reliverse/rse is your all-in-one companion for bootstrapping and improving any kind of projects (especially web apps built with frameworks like Next.js) — whether you're kicking off something new or upgrading an existing app. It is also a little AI-power

33 lines (32 loc) 887 B
import { createClient } from "@libsql/client/node"; import { ensuredir } from "@reliverse/relifso"; import { relinka } from "@reliverse/relinka"; import { drizzle } from "drizzle-orm/libsql/node"; import { memoryPath, cliHomeDir } from "../constants.js"; await ensuredir(cliHomeDir); const client = createClient({ url: `file:${memoryPath}` }); const db = drizzle(client); async function initializeDatabase() { try { await client.batch([ `CREATE TABLE IF NOT EXISTS config_keys ( key TEXT PRIMARY KEY, value TEXT NOT NULL )`, `CREATE TABLE IF NOT EXISTS user_data ( key TEXT PRIMARY KEY, value TEXT NOT NULL )` ]); } catch (error) { relinka( "error", "Failed to initialize database:", error instanceof Error ? error.message : String(error) ); } } await initializeDatabase(); export { db };