D
drizzle-orm
Drizzle ORM patterns for type branding and custom types. Use when working with Drizzle column definitions, branded types, or custom type conversions.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Drizzle ORM patterns for type branding and custom types. Use when working with Drizzle column definitions, branded types, or custom type conversions.
How to use
- 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.