Bea.db: queries do app
Toda app no BeaDev tem um banco PostgreSQL próprio. Você acessa via Bea.db.
Criar tabelas
useEffect(() => {
Bea.db.execute(`
CREATE TABLE IF NOT EXISTS app_clientes_x7m2 (
id SERIAL PRIMARY KEY,
nome TEXT NOT NULL,
telefone TEXT,
created_at TIMESTAMPTZ DEFAULT now()
)
`);
}, []);
⚠️ Convenção: nomes de tabela seguem app_<entidade>_<hash> onde hash é único do app (a IA gera). Não compartilhe tabelas entre apps sem usar App Connections.
Ler dados
const { rows } = await Bea.db.query(
"SELECT * FROM app_clientes_x7m2 ORDER BY nome"
);
setClientes(rows);
Com parâmetros (sempre use, nunca concatene):
await Bea.db.query(
"SELECT * FROM app_clientes_x7m2 WHERE nome ILIKE $1",
[`%${busca}%`]
);
Inserir / atualizar / deletar
// Insert
await Bea.db.execute(
"INSERT INTO app_clientes_x7m2 (nome, telefone) VALUES ($1, $2)",
[nome, tel]
);
// Update
await Bea.db.execute(
"UPDATE app_clientes_x7m2 SET telefone = $1 WHERE id = $2",
[novoTel, id]
);
// Delete
await Bea.db.execute(
"DELETE FROM app_clientes_x7m2 WHERE id = $1",
[id]
);
Limites
- Timeout de 10s por query
- 240 requests/min por app (proteção contra loop)
- Apenas tabelas do próprio app — cross-app só via App Connections