import { Database } from 'bun:sqlite'; import { drizzle } from 'drizzle-orm/bun-sqlite'; import * as schema from './schema'; /** * Instância única do banco de dados SQLite via Drizzle ORM. * Utiliza o driver nativo do Bun para máxima performance. * * O caminho do arquivo pode ser configurado via variável de ambiente DATABASE_URL. * Quando não definida, usa 'yaba.db' na raiz do projeto. */ const sqlite = new Database(process.env.DATABASE_URL ?? 'yaba.db'); /** * Habilita WAL mode para melhor performance em leituras concorrentes. * @see https://www.sqlite.org/wal.html */ sqlite.exec('PRAGMA journal_mode = WAL;'); sqlite.exec('PRAGMA foreign_keys = ON;'); export const db = drizzle(sqlite, { schema }); export type DB = typeof db;