# mikro-orm/mikro-orm

TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, MariaDB, MS SQL Server, PostgreSQL and SQLite/libSQL databases.

Repository: https://github.com/mikro-orm/mikro-orm
Canonical: https://ross.abutalabs.com/products/mikro-orm
Homepage: https://mikro-orm.io
Language: TypeScript
License: MIT
License Family: permissive
Topics: identity-map, datamapper, orm, nodejs, typescript, entities, mongodb, mysql, typescript-orm, sqlite, sqlite3, javascript, unit-of-work, entity, database, postgresql, postgre, sql, libsql, sql-server
Last push: 2026-08-26T21:02:38+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 99, release rhythm 87, longevity 100
- inputs: {"age_days": 3093, "days_push": 7, "days_rel": 7, "gap_med": 5.5, "n_releases_24m": 83}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 9184, forks 666 (observed 2026-08-28T04:10:28.791252+00:00)

## What it is
MikroORM is a TypeScript ORM for Node.js based on Data Mapper, Unit of Work, and Identity Map patterns. It supports SQL databases (PostgreSQL, MySQL, MariaDB, SQLite, libSQL, MSSQL, Oracle) as well as MongoDB, with type-safe queries, migrations, and schema tooling.

## Use cases
- manage postgresql entities in a typescript node.js app
- type-safe orm with automatic change tracking and transactions
- run database schema migrations for a node backend
- use an orm with mongodb in typescript
- seed test data with entity factories
- generate entities from an existing database schema
- build a fastify api with sqlite and vitest

## When to choose
- you want a fully type-safe ORM in TypeScript with multiple entity definition styles
- you need Unit of Work/Identity Map semantics with implicit transactions on flush
- you need first-class support for both SQL databases and MongoDB
- you want built-in migrations, schema generation, and seeding tooling

## When to avoid
- you prefer an Active Record pattern ORM
- your project is plain JavaScript without TypeScript and you don't need type safety
- you need a lightweight query builder without entity management overhead
- you use a database not among the supported drivers

## Facets
- artifact type: library
- maturity: stable
- function: orm, database, database-driver, cli, developer-tools
- domain: databases, backend, web-development, developer-tools
- platform: cross-platform
- tags: data-mapper, unit-of-work, identity-map, entity-management, schema-migrations, query-builder, mongodb, postgresql, mysql, sqlite, libsql, mssql, oracle, type-safe-queries, seeding, nodejs, typescript, javascript

## Member repositories
- mikro-orm/mikro-orm (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:28.791252+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:23:20.240047+00:00, confidence not recorded.
  - readme: https://github.com/mikro-orm/mikro-orm (fetched 2026-08-28T04:10:28.791252+00:00, sha fc3b61a7683c)
  - homepage: https://mikro-orm.io (fetched 2026-08-29T08:23:41.596409+00:00, sha fe92030efa35)
  - site_page: https://mikro-orm.io/docs/quick-start (fetched 2026-08-29T08:23:41.605959+00:00, sha 5e25d856b463)
  - site_page: https://mikro-orm.io/docs/next/quick-start (fetched 2026-08-29T08:23:41.608439+00:00, sha e8f7672c527e)
  - site_page: https://mikro-orm.io/docs/7.0/quick-start (fetched 2026-08-29T08:23:41.611397+00:00, sha ae32b5ff91d6)
  - site_page: https://mikro-orm.io/docs/6.6/quick-start (fetched 2026-08-29T08:23:41.613886+00:00, sha 14cbad4d26d7)
  - site_page: https://mikro-orm.io/docs/5.9/installation (fetched 2026-08-29T08:23:41.616172+00:00, sha ed82834e895f)
  - site_page: https://mikro-orm.io/docs/guide (fetched 2026-08-29T08:23:41.622929+00:00, sha 8aee4febd0a5)
  - site_page: https://mikro-orm.io/docs/unit-of-work (fetched 2026-08-29T08:23:41.624914+00:00, sha b48a073c2580)
  - site_page: https://mikro-orm.io/changelog (fetched 2026-08-29T08:23:41.618163+00:00, sha 2b8d12b9149c)
- Data as of 2026-08-30T08:39:29.467469+00:00.
