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 comejsonb_agg/jsonb_build_object,GREATEST/LEAST/NULLIF,CARDINALITYe simili). Funzioni pericolose o esotiche vengono rifiutate. - Campi Password: omessi dai suggerimenti schema e dai risultati
SELECTampi così i segreti non finiscono nella console. Puoi impostarli conINSERT/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:
INSERTeDELETEsono bloccati;UPDATEdella singola riga condivisa resta possibile. - Export CSV è per risultati
SELECTed è limitato (fino a 100.000 righe) — usa filtri per estrazioni molto grandi.
Usare la console responsabilmente
- Preferisci
SELECTper 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.
Per caricamenti ed export CSV admin fuori da SQL, vedi Import ed export Builder.