Pular para o conteúdo

Primeiros Passos com Scala

Adicione ao seu build.sbt:

libraryDependencies += "io.github.edadma" %%% "petradb-engine" % "1.5.0"

O operador %%% seleciona o artefato correto para sua plataforma — JVM, Scala.js ou Scala Native.

import io.github.edadma.petradb.*
import io.github.edadma.petradb.engine.*
given Session = new MemoryDB().connect()
val results = executeSQL("""
CREATE TABLE users (
id SERIAL,
name TEXT NOT NULL,
email TEXT
);
INSERT INTO users (name, email) VALUES
('Alice', 'alice@example.com'),
('Bob', 'bob@example.com');
SELECT * FROM users;
""")
results.foreach(println)

Cada instancia MemoryDB e um banco de dados em memoria totalmente isolado. Todos os dados ficam na memoria — nada toca o sistema de arquivos.

Quando voce precisa que os dados sobrevivam a reinicializacoes, o PetraDB possui duas opcoes que nao requerem infraestrutura externa:

PersistentDB — armazenamento duravel seguro contra falhas em um unico arquivo, usando paginas copy-on-write e cabecalhos com buffer duplo via stow. Disponivel em JVM e Native.

TextDB — armazena o banco de dados como um arquivo .ptxt legivel por humanos. Ideal para desenvolvimento, dados de configuracao e controle de versao.

Ambos sao cobertos em detalhes no guia Scala.

Voce pode experimentar o suporte SQL do PetraDB agora mesmo — sem necessidade de configurar um projeto. O playground executa o engine completo no seu navegador.

O guia Scala cobre bancos de dados persistentes e de texto, execucao de SQL, tratamento de resultados e a API completa. Para executar o PetraDB como um servico de rede, veja os guias Servidor e Cliente.