Toolverse
Wszystkie skille

drizzle-orm

autor: EpicenterHQ

Wzorce typowania w Drizzle ORM – unikaj overhead'u funkcji tożsamościowych

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Backend
Wyświetlenia
57

O skillu

Skill zawiera wytyczne do efektywnego używania Drizzle ORM przy definiowaniu kolumn z brandowanymi typami TypeScript. Pokazuje, kiedy zastosować $type() zamiast customType – rozwiązanie zero-overhead dla kolumn, które nie wymagają transformacji danych. Obejmuje konkretne przykłady złych i dobrych wzorców, wyjaśniając, dlaczego customType z funkcjami tożsamościowymi powoduje niepotrzebne wywołania na każdym wierszu. Nauczysz się, kiedy rzeczywiście potrzebujesz transformacji (JSON, serializacja) a kiedy wystarczy czysta asercja typu.

Jak używać

  1. Zainstaluj skill drizzle-orm w swoim projekcie agenta – będzie dostępny przy pracy z definicjami kolumn Drizzle. 2. Gdy definiujesz kolumnę z brandowanym typem TypeScript (np. DateTimeString, UserId), najpierw sprawdź, czy dane rzeczywiście się transformują między aplikacją a bazą danych. Jeśli nie – przejdź do kroku 3. 3. Zamiast pisać customType z funkcjami tożsamościowymi (toDriver i fromDriver zwracające wartość bez zmian), użyj $type() – jest to czysta asercja typu bez runtime overhead'u. Przykład: text().$type() zamiast customType z identity functions. 4. Zarezerwuj customType tylko dla przypadków, gdy dane rzeczywiście się transformują – na przykład JSON (obiekt ↔ string), serializacja, konwersja formatów. W takim wypadku zdefiniuj toDriver i fromDriver z rzeczywistą logiką konwersji. 5. Pamiętaj, że każde wywołanie fromDriver dzieje się dla każdego wiersza – jeśli zapytanie zwraca 1000 wierszy z 3 kolumnami, funkcja tożsamościowa będzie uruchomiona 3000 razy bez sensu. Skill pomoże Ci wybrać właściwy wzorzec i uniknąć tej pułapki.

Podobne skille