🌧
"А как тебе drizzle?" 🌧
Отличный вопрос в комментариях к предыдущему посту
Я даже думал сделать о
Drizzle ORM преписку к прошлому посту: "это вторая библиотека, которую мы бы попробовали, если бы не kysely"
Смущает несколько вещей:
– Drizzle дальше от SQL, чем kysely: у Drizzle чтобы получить реляции можно использовать "with: { ... }", которого не существует в SQL, значит будет как-то по-своему интерпертироваться, а в kysely только SQL возможности (например, join или json_agg), причем
очень качественно описанные
– Для kysely достаточно иметь типизацию (type, interface) таблиц базы, что супер легко сделать даже своими инструментами интроспекции (у нас свой скрипт был, мы потом его поменяли на официальный, но скоро вернемся обратно на свой), а также очень легко расширять (импортируете в соседний файл, кастомизируем типы, используете кастомныеы типы), а в drizzle придется использовать их интроспекцию (она ломалась на наших базах из-за недоработанности по некоторым типам) + я пока вообще не понимаю как можно расширять его интроспекцию
– ИМХО у kysely более продвинутая документация
Но с учетом, что kysely сработал, у меня нет никакого повода и преимущества даже смотреть на drizzle, потому что
kysely гораздо лучше справляется с моей главной потребностью – иметь максимальную типобезопасность и гибкость в написании нестандартных SQL запросов (пример в следующем посте покажу)