Prisma
3 minuty czytania
Prisma to narzędzie do szybkiego tworzenia aplikacji. Jest to framework, który pozwala na automatyzację procesów tworzenia aplikacji, takich jak obsługa bazy danych, autoryzacja i walidacja danych.
Kiedy chcemy stworzyć system oparty na podejściu baz danych o relacyjnym charakterze to skorzystamy z mapowania ORM (ang. Object-Relational Mapping). W tym artykule przedstawię bibliotekę, która pomaga w budowaniu ORM.

Czym jest Prisma?
Prisma to ORM typu open source, które pomaga szybciej budować aplikacje i popełniać mniej błędów. Prisma stosuje inne podejście do ORM w porównaniu do tradycyjnych ORM. Używa standardowego języka definicji schematu (SDL), który automatycznie zapisuje migracje i generuje kod bezpieczny dla typów. Prisma składa się z następujących części:
- Prisma Client - Jest to automatyczny generowany i bezpieczny dla typów konstruktor zapytać dla Node.js i TypeScriptu.
- Prisma Migrate - System migracji.
- Prisma Studio - GUI do przeglądania i edycji danych w bazie danych.
Prisma Client - może być używany w dowolnej aplikacji Node.js lub TypeScript. Może to być interfejs API REST, interfejs API GraphQL, interfejs API gRPC lub cokolwiek innego, co wymaga bazy danych.
Jak działa Prisma?
Każdy projekt korzystający z Prismy zaczyna się od pliku schematu Prisma. Schemat Prisma umożliwia programistom definiowanie modeli aplikacji w intuicyjnym języku modelowania danych. W takim schemacie konfigurujemy najczęściej trzy rzeczy:
- Źródło danych - Określa połączenie z bazą danych (poprzez zmienną środowiskową).
- Generator - wskazuje na to co chcesz wygenerować.
- Model danych - definiuje modele aplikacji.
Modele danych jest to zbiór modeli. Model ma dwie główne funkcje: Reprezentuje tabelę w relacyjnych bazach danych lub kolekcję w MongoDB i zapewnia podstawę dla zapytań w Prisma Client API.
Instalacja Prisma
Aby zainstalować Prisme należy pobrać pakiet @prisma/client:
npm install @prisma/client
Operacje CRUD z Prisma Client
Prisma Client umożliwia łatwe wykonywanie podstawowych operacji na bazie danych, takich jak tworzenie, odczyt, aktualizacja i usuwanie rekordów (CRUD). Dzięki intuicyjnej składni Prisma pozwala na szybkie manipulowanie danymi, co znacząco przyspiesza proces tworzenia aplikacji. Deweloperzy mogą korzystać z Prisma Client w celu wykonywania prostych zapytań, jak również obsługi bardziej skomplikowanych operacji, takich jak filtrowanie, paginacja czy sortowanie wyników. Wykorzystanie Prisma Client eliminuje potrzebę pisania skomplikowanych zapytań SQL, co sprawia, że kod jest czytelniejszy i łatwiejszy w utrzymaniu.

Zaawansowane zapytania i relacje między modelami
Prisma umożliwia definiowanie i obsługę relacji między modelami, co jest kluczowe w przypadku bardziej złożonych struktur bazodanowych. Dzięki obsłudze relacji jeden-do-jednego, jeden-do-wielu oraz wiele-do-wielu, Prisma pozwala na łatwe zarządzanie powiązanymi danymi. Narzędzie to wspiera także zaawansowane zapytania, takie jak agregacje, grupowanie wyników czy warunkowe filtrowanie. Dzięki Prisma deweloperzy mogą operować na złożonych zestawach danych w sposób przejrzysty i efektywny, jednocześnie minimalizując liczbę zapytań do bazy, co przekłada się na optymalizację wydajności aplikacji.
Obsługa transakcji w Prisma
Prisma oferuje mechanizmy obsługi transakcji, które pozwalają na wykonywanie wielu operacji bazodanowych w sposób atomowy. Dzięki temu można zagwarantować spójność danych, nawet w przypadku awarii lub błędów w trakcie wykonywania operacji. Prisma wspiera zarówno proste transakcje, jak i bardziej zaawansowane scenariusze, takie jak sekwencyjne wykonywanie operacji czy równoczesne przetwarzanie wielu zapytań. Obsługa transakcji pozwala na precyzyjną kontrolę nad stanem danych i minimalizację ryzyka niekompletnych lub niespójnych operacji, co jest szczególnie istotne w aplikacjach wymagających wysokiej niezawodności.
Jakie zalety ma Prisma?
- Szybkość - działa bardzo szybko dzięki temu, że korzysta z systemu cache, który zapobiega częstemu odpytywaniu bazy danych.
- Łatwość konfiguracji - jest łatwe w konfiguracji i można go zainstalować z pomocą narzędzia CLI.
- Bezpieczeństwo - pozwala na bezpieczne odwoływanie się do bazy danych, dzięki czemu unikamy SQL Injection.
- Język TypeScript - oferuje wsparcie dla TypeScript, co pozwala na pisanie bezpieczniejszego kodu i uniknięcie wielu błędów w trakcie programowania.
- Automatyczna generacja kodu - automatycznie generuje kod dostępu do bazy danych na podstawie modeli, dzięki czemu można zaoszczędzić dużo czasu przy tworzeniu aplikacji.
- Migracje schematu - oferuje funkcjonalność migracji schematu, co pozwala na łatwe zarządzanie zmianami w bazie danych.
- Łatwość w testowaniu - pozwala na łatwe testowanie kodu, dzięki czemu można uniknąć wielu błędów i problemów w trakcie tworzenia aplikacji.
- Skalowalność - jest łatwy do skalowania i obsługuje różne typy baz danych, dzięki czemu można korzystać z niego przy tworzeniu aplikacji o różnej skali.
Nasza oferta
Web development
Dowiedz się więcejMobile development
Dowiedz się więcejE-commerce
Dowiedz się więcejProjektowanie UX/UI
Dowiedz się więcejOutsourcing
Dowiedz się więcejPowiązane artykuły
ORM: Co to jest i jak działa?
22 sty 2024
Automatyzacja to klucz do wydajności. Instrument, jakim jest ORM (Object-Relational Mapping), doskonale oddaje te narzędzia w ręce programistów. Ten system mapowania obiektowego, mimo że często używany, jest nadzwyczajnie trudny do zrozumienia. Jaki jest prawdziwy charakter ORM? Jak teoretycznie i faktycznie działa ta technologia? W tym artykule postaramy się rozwiązać te tajemnice.

Hexagonal architecture: Klucz do optymalizacji struktury twojego projektu IT
14 lip 2023
Architektura heksagonalna, znana również jako 'Porty i adaptery', staje się coraz bardziej popularną w praktykach projektowych IT, pozwalając na optymalizację struktury projektu. Oferuje ona skuteczne rozwiązanie dla izolacji logiki biznesowej, co sprzyja utrzymaniu kodu i powoduje większą elastyczność. W artykule tym przyjrzymy się, czym tak naprawdę jest architektura heksagonalna i jak może wpłynąć na poprawę naszego projektu IT.
Eager loading w praktyce - jak zastosować tę technikę w swojej aplikacji?
21 mar 2023
Eager loading to technika optymalizacji wczytywania danych, która może znacznie przyspieszyć działanie Twojej aplikacji. W szczególności, kiedy mamy do czynienia z dużą ilością danych i skomplikowanymi zależnościami między nimi.
Czym jest MVP i dlaczego jest ważne w branży IT?
18 lis 2022
MVP, czyli Minimum Viable Product, to pojęcie, które staje się coraz bardziej popularne w branży IT. Oznacza ono najprostszą i najbardziej podstawową wersję produktu, która jest gotowa do udostępnienia na rynku. MVP jest szczególnie ważne, ponieważ pozwala na szybkie i efektywne sprawdzenie pomysłu i uzyskanie feedbacku od potencjalnych klientów.
AI w modzie i branży odzieżowej: personalizacja trendy i virtual try-on
15 cze 2026
Sztuczna inteligencja przestała być w modzie modnym hasłem i stała się realnym narzędziem, które zmienia sposób, w jaki marki projektują kolekcje, sprzedają produkty i komunikują się z klientami. Algorytmy uczą się stylu konkretnego użytkownika, przewidują trendy z kilkumiesięcznym wyprzedzeniem, a wirtualne przymierzalnie pozwalają zobaczyć siebie w sukience bez wychodzenia z domu.
E-commerce dla motoryzacji - jak sprzedawać części online z katalogiem TecDoc?
13 cze 2026
Sprzedaż części samochodowych w internecie to jeden z najbardziej wymagających segmentów e-commerce, w którym precyzja danych liczy się bardziej niż chwytliwa grafika czy efektowna kampania reklamowa. Klient nie kupi filtra paliwa, jeśli nie ma stuprocentowej pewności, że pasuje on do jego konkretnej wersji silnika, a sklep z setkami tysięcy indeksów nie utrzyma się długo bez sprawnego systemu zarządzania asortymentem. Właśnie dlatego katalog TecDoc stał się fundamentem branży i standardem, na którym opierają swoje działanie zarówno globalni giganci, jak i mniejsze, wyspecjalizowane sklepy.
Dark kitchen i catering dietetyczny: jak technologia zmienia nowoczesną gastronomię
12 cze 2026
Gastronomia w ostatnich latach przeszła cichą, ale głęboką rewolucję. Klient coraz rzadziej chce iść do restauracji, a coraz częściej oczekuje, że to dobrze zbilansowany, świeży posiłek sam trafi pod jego drzwi o właściwej porze. Na tej zmianie wyrosły dwa zjawiska, które dziś wyznaczają kierunek rozwoju całej branży, czyli dark kitchen oraz catering dietetyczny. Łączy je jedno: bez nowoczesnej technologii, integracji systemów i analizy danych po prostu nie miałyby prawa działać w skali, w jakiej działają dzisiaj.
Zobacz wszystkie artykuły