v1.2adapters/sqlite
Tile.JS
Tile.JS
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.

Próximos passos

On this page