D
drizzle-orm
Wzorce typowania w Drizzle ORM – unikaj overhead'u funkcji tożsamościowych
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill zawiera wytyczne do efektywnego używania Drizzle ORM przy definiowaniu kolumn z brandowanymi typami TypeScript. Pokazuje, kiedy zastosować $type
Jak używać
- 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.