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...

View on GitHub ↗Jump to charts ↓Open shareable report →

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 38 minutes ago
Added to GitGenius on September 7th, 2026
Created on March 15th, 2018
Open Issues & Pull Requests: 17 (+0)
GitHub issues: Enabled
Number of forks: 681
Total Stargazers: 9,247 (+0)
Total Subscribers: 52 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.5 hours
Mean response time: 7.9 days
90th percentile: 2.8 days
Tracked items: 610

Maintainer activity

2 people did triage or write work on this repository in the last 12 months.

Counts unlabeled, assigned, unassigned, milestoned, demilestoned, locked, unlocked over the last 12 months. These are issue and pull request events that require triage or write permission. Commits and code review are not counted. labeled and renamed are excluded because GitHub issue forms record the issue author as the actor. Figures from October 11, 2026. This count is not comparable across projects: each project's automation decides which of these events a person emits.

How this project is maintained

About 10% of issues opened in the past year have never received a reply. 99% of issues opened in the past year have since been closed. Three people close 94% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 7
New in 7 days: 8
Closed in 7 days: 8
Avg open age: 1,030 days
Stale 30+ days: 5
Stale 90+ days: 2

Recent activity

Opened in 7 days: 8
Closed in 7 days: 8
Comments in 7 days: 1
Events in 7 days: 19

Top labels

  • enhancement (117)
  • bug (92)
  • documentation (18)
  • good first issue (15)
  • help wanted (12)
  • needs clarification (5)
  • breaking change (2)
  • typing (2)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

MikroORM is a TypeScript ORM for Node.js built on Data Mapper, Unit of Work, and Identity Map patterns. It supports MongoDB, MySQL, MariaDB, PostgreSQL, SQLite, MSSQL, and Oracle databases.

MikroORM addresses the need for a type-safe, pattern-driven approach to database access in Node.js applications. It uses the Data Mapper pattern to keep entity definitions separate from persistence logic, the Unit of Work pattern to batch database changes into transactions, and the Identity Map pattern to ensure each entity instance is loaded only once per request context. When you modify entities and call flush, the tool automatically detects changes and executes them within a single database transaction, giving you explicit control over transaction boundaries without manual transaction management.

Developers should choose MikroORM if they value explicit control over database operations and are comfortable with the Data Mapper architectural style. It suits projects that need to work with multiple database systems, since a single codebase can target different databases through driver packages. The tool offers multiple ways to define entities: using the recommended defineEntity function with setClass, decorators, or the EntitySchema low-level API. For web applications, RequestContext isolates the identity map per request, preventing entity state from leaking between concurrent requests. The README draws inspiration from Doctrine and Hibernate, indicating it targets developers familiar with those frameworks' patterns.

The project maintains active development with regular updates across its core and plugin packages. The codebase shows consistent attention to documentation, with comprehensive guides covering entity definition, querying, the Unit of Work pattern, and request context handling. The tool has a modular architecture where optional features like migrations and entity generation are available as separate packages, allowing developers to adopt only what they need.