FratmScript 🤌🏻

Lezione 13 / 14

apri_db e gomorra

apri_db() apre un database SQLite: è già nella libreria fratm, non serve installare niente. Nel playground il database vive in memoria; con Node si può salvare su un file.

Metti gomorra davanti a una template string e scrivi la query in napoletano (GomorraSQL): ripigliammo … mmiez 'a … è SELECT … FROM …, arò è WHERE, mettimmo in fila pe è ORDER BY. Il compilatore la traduce e ti dice se è sbagliata.

Un valore messo con ${…} passa come parametro, mai dentro il testo della query: così nessuno può farti una SQL injection.

Esercizio

Inserisci una Marinara a 4 euro e stampa solo le pizze che costano meno di 6 euro, dalla più economica: arò prezzo < ${6} mettimmo in fila pe prezzo.

chiamm { apri_db, gomorra } da "fratm"

chist è db = apri_db()
db.esegui(gomorra`facimm 'a tavula pizze (nomme TEXT, prezzo REAL)`)
db.esegui(gomorra`nzipp 'ngoppa pizze nomme, prezzo chist ${"Margherita"}, ${5}`)
db.esegui(gomorra`nzipp 'ngoppa pizze nomme, prezzo chist ${"Diavola"}, ${7}`)

chist è pizze = db.ripiglia(gomorra`ripigliammo nomme, prezzo mmiez 'a pizze`)
pe ogni (chist è pizza dint pizze) {
    stamm a dì(`${pizza.nomme}: ${pizza.prezzo} euro`)
}

Quando hai finito, il programma stampa

Marinara: 4 euro
Margherita: 5 euro

Fai questa lezione nel playground