Passa al contenuto principale

SQL Console

Quando ti serve una risposta rapida che i Widget non mostrano — un conteggio una tantum, un join tra oggetti, un export per un auditor — la SQL Console ti permette di eseguire SQL sul database della tua app dal Builder. Continui a usare nomi logici di oggetti e campi (le etichette che già conosci), mentre Bobuild li traduce in sicurezza dietro le quinte.

Scenari tipici:

  • investigare "quanti ticket aperti sono stati creati il mese scorso?" senza costruire una griglia temporanea;
  • esportare un CSV personalizzato per finance o compliance;
  • validare che un import sia arrivato correttamente prima che gli utenti lo vedano;
  • esplorare le relazioni mentre progetti campi automatici o filtri.

La console è contrassegnata Experimental: potente per chi costruisce, con guardrail così le app quotidiane restano al sicuro.

Aprire la console​

Da un oggetto nel Builder, apri la SQL Console (elencata anche tra gli strumenti del Builder). Ottieni un editor, Run, risultati paginati (50 righe per pagina), autocomplete assistito dallo schema e Export CSV.

Scrivere query​

Preferisci nomi di oggetti e campi come li vedi nel Builder, ad esempio:

SELECT users.email, users."Full name"
FROM users
WHERE users.active = true
ORDER BY users.email
LIMIT 100

Sono accettati sia nomi brevi che etichette tra virgolette dove configurato.

Limiti e protezioni​

  • È consentito solo un insieme allowlisted di funzioni SQL (helper stringa, aggregati, helper conversione date, window function come row_number, helper JSON come jsonb_agg / jsonb_build_object, GREATEST / LEAST / NULLIF, CARDINALITY e simili). Funzioni pericolose o esotiche vengono rifiutate.
  • Campi Password: omessi dai suggerimenti schema e dai risultati SELECT ampi così i segreti non finiscono nella console. Puoi impostarli con INSERT / UPDATE — Bobuild fa l'hash del valore e applica le stesse regole di robustezza password dell'app live (almeno 16 caratteri, oppure almeno 8 con un numero, una lettera minuscola e una maiuscola).
  • Oggetti globali: INSERT e DELETE sono bloccati; UPDATE della singola riga condivisa resta possibile.
  • Export CSV è per risultati SELECT ed è limitato (fino a 100.000 righe) — usa filtri per estrazioni molto grandi.

Usare la console responsabilmente​

  • Preferisci SELECT per l'esplorazione; mantieni le scritture rare e intenzionali.
  • Non usare la console come UI operator quotidiana — costruisci griglie e form per lavoro ricorrente.
  • I valori password non vengono mai restituiti nelle griglie di risultato, ma altre colonne sensibili non sono mascherate — evita di esportare più del necessario.
  • Testa idee distruttive su un ripristino Snapshot prima, mai su production "per vedere cosa succede".
  • Per estrazioni CSV ricorrenti che gli operatori possono eseguire da soli, preferisci export da griglia o un endpoint API documentato.

Run SQL command in a task​

Quando ti serve lo stesso tipo di SQL come parte di un workflow — non solo dal Builder — aggiungi un'azione Run SQL command a una Task. Usi tipici: una correzione dati una tantum che attivi da un pulsante griglia, un aggiornamento di manutenzione pianificato o una scrittura bulk che i Widget non possono esprimere.

Configurala così:

  • Scrivi il comando con nomi logici di oggetti e campi, come nella console (ad esempio UPDATE tickets SET status = 'closed' WHERE status = 'resolved').
  • Testa l'istruzione nella SQL Console prima (validazione e autocomplete).
  • Usa Repeat this action così il comando gira una volta, o una volta per record in input.
  • Le Conditions della Task decidono comunque se l'azione parte.

L'azione usa la stessa allowlist e protezioni della console e può scrivere (insert, update, delete). Gira fuori dalla transazione database del resto della Task: se un'azione successiva fallisce, le modifiche fatte da questo SQL non vengono annullate.

I comandi falliti vengono registrati in Error Logs nella sidebar del Builder (tipo SQL command, con l'istruzione fallita). Apri quella pagina per ispezionare i fallimenti recenti.

suggerimento

Per caricamenti ed export CSV admin fuori da SQL, vedi Import ed export Builder.