Kysely vs MikroORM
어떤 ORM을 쓸까?
기본
| Kysely | MikroORM | |
|---|---|---|
| 주간 다운로드 | 1254만 | 70.2만 |
| 최근 릴리스 | 오늘 | 3일 전 |
| 유지보수 | 🟢 활발 | 🟢 활발 |
| 열린 이슈 | 171 | 20 |
유지보수 상태는 최근 릴리스 간격만으로 판정합니다 (90일 이내 🟢 · 270일 이내 🟡 · 그 이상 🔴).
쓰다 보면 만나는 것
Kysely
- 거슬림
테이블 타입을 손으로 쓰거나 서드파티 codegen에 의존해야 한다
Kysely는 스키마 정의가 없다. Database 인터페이스를 Generated·ColumnType 래퍼로 직접 작성하는 것이 기본이고, 공식 문서도 프로덕션에서는 DB 인트로스펙션으로 타입을 생성하라고 안내한다. 그 생성 도구(kysely-codegen 등)는 본체가 아닌 커뮤니티 프로젝트다. 타입의 출처가 코드가 아니라 외부 도구라는 점을 설계에 넣어야 한다.
2026-08 · 미해결
- 거슬림
복잡한 쿼리에서 빌더·타입 추상화의 한계에 부딪힌다
단순 CRUD는 매끄럽지만, SQL 술어를 빌더 표현으로 옮기는 방법을 문서에서 뒤져야 하는 경우가 생기고, 조인 비교나 selectAll 등에서 타입이 실제 결과와 어긋나는 열린 버그들이 있다. relations·eager loading이 없어 중첩 객체는 손으로 조립한다.
2026-02 · 미해결
- 거슬림
마이그레이션 자동 생성과 스키마 diff가 없어 up/down을 손으로 쓴다
마이그레이션은 up·down 함수를 직접 작성하는 방식이며, 스키마 정의에서 diff를 떠서 생성해주는 도구가 본체에 없다. prisma migrate나 drizzle-kit 같은 자동 생성에 익숙하면 워크플로를 다시 설계해야 한다. 반대로 이 명시성이 장점이라는 시각도 있다 — 손으로 쓴 up/down은 롤백 경로가 항상 존재한다.
2026-08 · 미해결
MikroORM
아직 정리된 항목이 없습니다. 출처가 확보되는 대로 추가됩니다.
이럴 땐 이걸
- SQL을 직접 설계하고 타입만 얹고 싶을 때 → Kysely