Drizzle vs TypeORM: ORM leve ou completo?
Drizzle é um query builder leve e SQL-first com tipos fortes; TypeORM é um ORM completo baseado em decorators com os padrões active-record e data-mapper.
O Drizzle mantém você perto do SQL com inferência total de tipos e um runtime minúsculo, ideal para serverless e edge. O TypeORM é um ORM mais tradicional e rico em recursos, usando classes de entidade com decorators, relations e lazy loading. A troca é minimalismo e transparência de SQL versus um conjunto de recursos mais completo e orientado a OOP.
| Drizzle | TypeORM | |
|---|---|---|
| Estilo | Builder SQL-first | ORM baseado em decorators |
| Peso do runtime | Muito leve | Mais pesado |
| Relations / lazy load | Joins explícitos | Relations embutidas |
| Edge / serverless | Forte | Viável |
| Melhor para | Controle SQL, edge | Modelos OOP ricos |
No CI
Ambos aplicam migrations contra um banco de teste no CI - o Drizzle via drizzle-kit, o TypeORM via sua CLI. O Drizzle não tem engine de codegen e tem bundles mais leves; o TypeORM traz mais recursos de runtime. Escolha conforme queira transparência de SQL ou uma abstração de ORM mais completa.
Acelere
Faça cache das dependências entre execuções e rode migrations contra um serviço de DB descartável. Ambos rodam em CI runners; runners gerenciados mais rápidos encurtam as etapas de install e migration.
O veredito
Quer runtime mínimo, controle em nível de SQL e forte adequação a edge: Drizzle. Quer relations ricas, decorators e o conjunto de recursos de um ORM tradicional: TypeORM. Drizzle para enxuto/serverless, TypeORM para domínios com muitos recursos.