Roland
Door Roland
10 september 20243 min. leestijd

Prisma's nieuwe typed raw SQL feature

DatabaseSoftware Development

Typed Raw Woordenboek · In het kortSQLSQL is een taal waarmee je gegevens in een relationele database opvraagt en beheert, en waarmee je de structuur van die database vastlegt.Lees meer⁠ is toegevoegd aan Prisma en dit is waarom deze feature onze code nog robuuster en beter maakt.

In de nieuwste Woordenboek · In het kortreleaseEen release is een herkenbare versie van software die is klaargemaakt om beschikbaar te stellen aan gebruikers. Zo'n versie bundelt een of meer gecontroleerde wijzigingen.Lees meer⁠ van Prisma is een interessante feature toegevoegd die de flexibiliteit en gebruiksvriendelijkheid van Prisma naar een hoger niveau tilt: typed raw Woordenboek · In het kortqueryEen query is een gerichte opdracht aan een systeem om gegevens op te vragen, te filteren, te combineren of te wijzigen.Lees meer⁠. Voor meer informatie: check de documentatie.

Wat is Prisma?

Prisma is een Woordenboek · In het kortORMEen ORM is software die objecten in programmacode koppelt aan tabellen en relaties in een relationele database. De afkorting staat voor Object-Relational Mapping.Lees meer⁠ (Object-Relational Mapping) tool die ons ontwikkelaars helpt om gemakkelijk met Woordenboek · In het kortdatabaseEen database is een gestructureerde verzameling gegevens die software kan opslaan, opvragen en wijzigen. Een databasebeheersysteem regelt de toegang tot die gegevens.Lees meer⁠ te werken door middel van een Woordenboek · In het kortAPIEen API is een vastgelegde manier waarop software gegevens uitwisselt of functies van andere software aanroept, zonder de interne werking daarvan te hoeven kennen.Lees meer⁠. We kunnen hiermee data opvragen, invoeren, bijwerken en verwijderen zonder dat we ons zorgen hoeven te maken over de onderliggende SQL-query's. Prisma biedt een query builder die ervoor zorgt dat al je inputs en outputs getypeerd zijn, wat betekent dat je al tijdens het schrijven van je code weet of je query's correct zijn en wat voor data je kunt verwachten.

Oké, en wat is Typed Raw SQL?

Prisma heeft altijd al de mogelijkheid gehad om raw SQL te gebruiken voor situaties waarin de standaard query builder niet voldoende was. Dit is handig voor complexe query's of wanneer je specifieke database-functies wilt gebruiken die niet worden ondersteund door de query builder van Prisma. Het probleem met deze raw SQL was echter dat de invoer en uitvoer niet getypeerd waren. Dit betekende dat je pas tijdens het uitvoeren van je software zou ontdekken of je query goed was en wat voor soort data je terugkreeg. Best foutgevoelig dus en debuggen kan na een hele dag (of maand) van coden best een flinke klus worden.

Je kunt nog steeds de volledige kracht en flexibiliteit van SQL benutten, maar nu met de zekerheid van type safety.

Met de nieuwe "Typed Raw SQL"-feature kun je nu raw SQL schrijven in een speciaal bestand, waarin je gebruik kunt maken van named parameters en template literals om dynamische SQL-query's te maken. Tijdens het genereren van je Prisma client (met het commando prisma generate), wordt deze SQL geanalyseerd en gekoppeld aan je Prisma schema, waardoor zowel de input als de output van de query getypeerd zijn. Dit betekent dat je nog steeds de volledige kracht en flexibiliteit van SQL kunt benutten, maar nu met de zekerheid van Woordenboek · In het korttype safetyType safety is de mate waarin een programmeertaal voorkomt dat een waarde wordt gebruikt op een manier die niet past bij het type ervan. Een typecontrole kan zulke fouten tijdens het programmeren, compileren of uitvoeren signaleren.Lees meer⁠.

Waarom is dit handig?

Deze nieuwe feature biedt het beste van twee werelden: de flexibiliteit van raw SQL en de type safety van Prisma. Hier zijn een paar redenen waarom wij erg blij zijn met deze nieuwe feature:

  • Type Safety

    Je kunt met zekerheid je raw SQL-query's schrijven en weten dat de input en output correct zijn, wat fouten tijdens runtime vermindert.

  • Flexibiliteit

    Voor complexere query's of situaties waarin de Prisma query builder tekortschiet, kun je toch de volledige kracht van SQL benutten zonder type safety te verliezen.

  • Dynamische SQL

    Met template literals kun je krachtige, dynamische SQL-query's maken die nog steeds volledig getypeerd zijn.

  • Onderhoudbaarheid

    Omdat je query's getypeerd zijn, wordt je codebase makkelijker te onderhouden en te refactoren.

Voor wie is dit relevant?

Typed Raw SQL in Prisma biedt een krachtige oplossing voor ontwikkelaars die zowel de flexibiliteit van raw SQL als de veiligheid van type checking willen combineren. Dit maakt het werken met databases niet alleen robuuster, maar ook efficiënter en minder foutgevoelig. En aangezien wij regelmatig met complexe database-query's werken, is dit voor ons een zeer waardevolle toevoeging aan Prisma!

Ewout

Contactpersoon: Ewout

Samenwerken?

Heb je een softwarevraag of een project in gedachten? Neem contact op met Ewout. Samen bespreken we wat je nodig hebt en hoe we kunnen helpen.

CONTACT

Neem contact met ons op

Heb je een vraag of wil je sparren over je software? Laat je gegevens achter, dan nemen we snel contact met je op.