# Script util în package.json pentru a rula studio pe un port fix
# fără să se bată cap în cap cu alte microservicii:
npx prisma studio --port 5555 --browser noneRulezi npx prisma studio, se deschide un tab în browser pe portul 5555 și poți să adaugi sau să modifici date în trei secunde. E comod, n-ai nevoie de credențiale separate sau configurat conexiuni SSL de mână. Totuși, după ce treci de stadiul de prototip, încep să apară limitele.
Am lucrat recent la un proiect cu peste 120k de comenzi și zeci de tabele relaționate. Acolo am văzut exact unde se oprește utilitatea interfeței native din Prisma și de ce încă țin un client clasic de baze de date deschis în background.
Prisma Studio: excelent pentru DX local, slab pe volum
Cel mai mare avantaj la Prisma Studio e că citește direct fișierul schema.prisma. Știe tipurile de date, respectă enums și îți formatează relațiile 1-to-many într-un mod vizual foarte intuitiv. Dacă vrei să legi rapid un profil de un user sau să adaugi un rând de test cu câteva câmpuri JSON, e imbatabil ca viteză de lucru.
Trade-off-ul e performanța. Prisma Studio trage datele prin engine-ul de query din Prisma, rulând un web server local peste Express. Când deschizi un tabel cu 50.000 de rânduri și dai scroll, browserul începe să gâfâie, iar consumul de RAM sare lejer de 1 GB. Nu ai suport pentru queries SQL custom, nu poți rula un EXPLAIN ANALYZE și nu ai cum să vezi indecșii creați direct în Postgres sau MySQL.
TablePlus și DBeaver: uneltele pentru când lucrurile devin serioase
Când ai nevoie de precizie chirurgicală, un client nativ precum TablePlus (pe macOS/Windows) sau DBeaver (pe Linux/multiplatform) este esențial.
TablePlus e extrem de rapid, scris nativ în Swift/C++. Îl folosesc de vreo 4 ani pentru orice ține de debug pe date reale. Are autocompletion excelent la SQL nativ, gestiune decentă a tranzacțiilor (vezi modificările înainte de COMMIT) și suportă SSH tunneling din două clickuri fără bătăi de cap.
DBeaver e mai greoi (e bazat pe Eclipse/Java), dar pe partea de analiză n-are rival la nivel open-source: diagrame ER automate, profiling avansat, suport pentru baze de date exotice și exporturi masive de CSV-uri fără să blocheze UI-ul.
| Criteriu | Prisma Studio | TablePlus | DBeaver |
|---|---|---|---|
| Setup | Zero config (citește schema) | Manual (host, port, user) | Manual (JDBC drivers) |
| Viteză UI | Medie (Web app în browser) | Nativă, extrem de rapidă | Medie (Java/Eclipse) |
| Raw SQL | Deloc | Excelent | Excelent + Profiling |
| Relații vizuale | Foarte bune (click-through) | Bune (Foreign Keys) | Excelente (Diagrame ER) |
| Consum resurse | Mare pe tabele dense | Minim (< 150MB RAM) | Mediu spre mare (JVM) |
Cum le împart în workflow-ul de zi cu zi
Nu trebuie să alegi doar una singură. Eu am o regulă simplă: dacă scriu un feature nou, adaug seed data sau verific dacă un mutation din GraphQL/tRPC a scris corect în baza locală, deschid Prisma Studio direct din terminal. E la un script distanță și mă ține focusat pe cod.
În schimb, dacă investighez un bug de performanță pe staging, dacă trebuie să modific date în producție printr-un bastion host sau dacă scriu o migrare raw SQL cu triggeri, merg direct în TablePlus.
Voi ce folosiți când lucrați cu ORM-uri moderne? Rămâneți în UI-ul oferit de stack sau preferați un client SQL dedicat?