Adapters
SQLite
Adapter para SQLite usando bun:sqlite ou better-sqlite3 com suporte completo a Bun e Node.js.
SQLite Adapter
O SQLite Adapter oferece persistência local robusta usando SQLite, com excelente performance e suporte nativo ao Bun e Node.js.
Uso
import { Database } from "@tile.js/database";
import { sqliteAdapter } from "@tile.js/database/adapters";
import * as sqlite from "bun:sqlite";
const database = new Database({
storage: sqliteAdapter({ Database: sqlite.Database }, {
dbName: "meu-app",
})
});import { Database } from "@tile.js/database";
import { sqliteAdapter } from "@tile.js/database/adapters";
import DatabaseDriver from "better-sqlite3";
const database = new Database({
storage: sqliteAdapter({ default: DatabaseDriver }, {
dbName: "meu-app",
})
});Configuração
Prop
Type
Estrutura de Arquivos
meu-app.db
Vantagens do SQLite Adapter
- Performance excelente para leituras e escritas locais
- Suporte completo a índices únicos (
uniqueFields) - Transações ACID nativas do SQLite
- Criação automática de diretórios
- Compatível com Bun (
bun:sqlite) e Node.js (better-sqlite3) - Baixo consumo de memória
Quando usar
- Aplicações que precisam de performance alta localmente
- Projetos com grande volume de dados locais
- Quando você quer controle fino sobre índices e queries
- Aplicações offline-first
- Ambientes com restrições de rede
Exemplo completo
const database = new Database({
storage: sqliteAdapter({ Database: sqlite.Database }, {
filename: "./data/prod.db", // caminho customizado
})
});
export const db = Object.assign(database, {
members: database.collection<Member>("members", memberSchema),
});Dica
Recomendamos chamar database.disconnect() antes de encerrar a aplicação para garantir que todas as escritas sejam finalizadas.