Prisma Studio
Cos’e’ Prisma Studio?
Prisma Studio e’ un’interfaccia grafica web integrata in Prisma che permette di visualizzare, creare, modificare e eliminare i dati del database direttamente dal browser. E’ uno strumento di sviluppo incluso nel CLI di Prisma, senza bisogno di installazioni aggiuntive.
Avviare Prisma Studio
npx prisma studio
Di default si apre su http://localhost:5555. Puoi specificare una porta diversa:
npx prisma studio --port 5556
Puoi anche specificare un browser:
npx prisma studio --browser firefox
Per avviarlo senza aprire automaticamente il browser:
npx prisma studio --browser none
Navigare i Dati
All’apertura, Prisma Studio mostra una lista di tutti i modelli definiti nel tuo schema.prisma. Ogni modello corrisponde a una tabella del database.
Vista Tabellare
Cliccando su un modello (es. User), si apre una vista tabellare con tutti i record:
- Colonne: ogni campo del modello e’ una colonna.
- Righe: ogni record del database e’ una riga.
- Tipi: i valori sono formattati in base al tipo (DateTime come data leggibile, Boolean come checkbox, Json come oggetto espandibile).
- Campi Nullable: i campi
nullsono visualizzati in modo distinto.
Visualizzare le Relazioni
Prisma Studio mostra le relazioni tra i modelli:
- Campi relazionali: le colonne di relazione mostrano un link cliccabile al record collegato.
- Relazioni 1:N: cliccando sul campo relazionale si apre un pannello con tutti i record collegati.
- Relazioni N:M: le tabelle pivot sono navigate automaticamente.
Per esempio, se User ha molti Post, nella riga di un utente vedrai un pulsante per espandere e visualizzare tutti i suoi post.
Operazioni CRUD
Creare un Record
- Clicca il pulsante “Add record” in alto.
- Compila i campi nel form che appare.
- I campi con
@defaultsono pre-compilati (puoi modificarli). - I campi opzionali (
?) possono essere lasciati vuoti. - Clicca “Save” per inserire il record.
Esempio: Creare un nuovo utente
- email: "test@example.com"
- name: "Test User"
- role: "USER" (selezionabile da dropdown se e' un enum)
Modificare un Record
- Clicca su una cella per modificarla direttamente.
- I campi
@ide@default(autoincrement())non sono modificabili. - I Boolean si modificano con un toggle.
- I campi Json si modificano con un editor inline.
- Clicca “Save changes” per applicare.
Eliminare un Record
- Seleziona uno o piu’ record con la checkbox a sinistra.
- Clicca il pulsante “Delete records”.
- Conferma l’eliminazione nel dialog.
Attenzione: se il record ha relazioni con onDelete: Restrict, l’eliminazione potrebbe fallire. Con onDelete: Cascade, i record collegati vengono eliminati automaticamente.
Filtrare e Ordinare
Filtrare
Prisma Studio offre un sistema di filtri visuale:
- Clicca sull’icona filtro in alto nella tabella.
- Seleziona il campo su cui filtrare.
- Scegli l’operatore (equals, contains, gt, lt, ecc.).
- Inserisci il valore di confronto.
- Puoi aggiungere piu’ filtri combinandoli con AND/OR.
Esempi di filtri comuni:
emailcontains"gmail.com"- tutti gli utenti Gmail.createdAtgt"2026-01-01"- record creati nel 2026.roleequals"ADMIN"- solo gli admin.publishedequalstrue- solo post pubblicati.
Ordinare
Clicca sull’intestazione di una colonna per ordinare:
- Primo click: ordinamento ascendente (A-Z, 1-9).
- Secondo click: ordinamento discendente (Z-A, 9-1).
- Terzo click: rimuove l’ordinamento.
Lavorare con Tipi Speciali
Campi Json
I campi Json mostrano un’anteprima compatta. Cliccando si apre un editor completo dove puoi:
- Visualizzare il JSON formattato.
- Modificare il contenuto con validazione JSON.
- Espandere/comprimere nodi.
Campi DateTime
I campi DateTime sono visualizzati in formato leggibile. Per modificarli appare un date-picker.
Campi Enum
I campi enum mostrano un menu a tendina con tutti i valori possibili definiti nello schema.
Limitazioni
- Prisma Studio e’ uno strumento di sviluppo: non usarlo in produzione.
- Non supporta query SQL personalizzate.
- Per dataset molto grandi le performance possono rallentare.
- Non ha un sistema di autenticazione: chiunque abbia accesso alla porta puo’ modificare i dati.
- Non supporta operazioni batch su larga scala.
Integrazione nel Workflow
Prisma Studio e’ particolarmente utile durante lo sviluppo per:
# 1. Dopo una migrazione, verifica che lo schema sia corretto
npx prisma migrate dev --name add_posts
# 2. Dopo il seeding, controlla i dati inseriti
npx prisma db seed
# 3. Apri Studio per esplorare
npx prisma studio
# 4. Durante il debug, verifica lo stato dei dati
# mentre l'applicazione gira in un altro terminale