A favicon of MikroORM

MikroORM

Build Node.js apps with a TypeScript ORM using Data Mapper and Unit of Work patterns. Supports SQL/NoSQL, offers schema tools, and automatic query batching.

Visit MikroORM
A screenshot of MikroORMVisit

MikroORM is a TypeScript ORM for Node.js applications, built upon the Data Mapper, Unit of Work, and Identity Map patterns. This approach promotes cleaner code and better separation of concerns compared to Active Record.

Key features include:

  • Implicit Transactions: Automatically wraps all computations inside a database transaction when em.flush() is called.
  • DRY Entities: Leverages TypeScript's type system, eliminating the need to repeat entity definitions.
  • Broad Database Support: Works with SQL databases like PostgreSQL, MySQL, MariaDB, SQLite, and NoSQL databases like MongoDB. Custom drivers allow for further expansion.
  • Database Synchronization Tools: Includes a Schema Generator for rapid prototyping, a Migration Generator for creating diffs, and an Entity Generator for introspecting existing database schemas.
  • Data Seeding: Provides a Seeder utility with factories to easily generate and populate the database with fake data.
  • Automatic Batching: The Unit of Work automatically batches insert, update, and delete queries for efficiency.
  • Powerful Events: Offers hooks into the entity lifecycle and Unit of Work operations.
  • Query Builder: Features a metadata-aware query builder with auto-joining capabilities.
  • Global Filters: Define common query constraints globally, useful for multi-tenancy or soft deletes.
Share:
Featured tools:

Similar to MikroORM:

Pythonic SQL toolkit and ORM for flexible database access.
ORMsPython
Access databases in Python with a powerful SQL toolkit and Object Relational Mapper. Gain full SQL flexibility and high-performance persistence patterns.
Markdown to docs site, no build needed.
DocumentationJavaScript & TypeScript
Generate documentation sites dynamically from Markdown files. Creates lightweight, single-page application sites without requiring a static build step.
Build optimized websites quickly, focus on your content.
DocumentationJavaScript & TypeScript
Quickly build optimized websites like docs, blogs, or landing pages using React. Write content easily with MDX support and leverage built-in versioning and search.
Tiny & elegant Fetch API wrapper for JS
HTTP for JSJavaScript & TypeScript
Make HTTP requests easily with this tiny, elegant client built on the Fetch API. Offers a simpler API, retries, timeouts, hooks, and improved JSON handling.
Lightweight fetch wrapper with plugins and Axios-like API.
HTTP for JSJavaScript & TypeScript
Make HTTP requests using a lightweight fetch wrapper. Offers an Axios-like API, plugin support for caching, retries, throttling, and more. Works universally.
A tiny, intuitive fetch wrapper for cleaner requests.
HTTP for JSJavaScript & TypeScript
Make fetch requests easily with an intuitive, tiny, immutable, and type-safe wrapper. Simplifies error handling, headers, and serialization.
Flexible JavaScript ORM for Node.js database interactions.
JavaScript & TypeScriptORMs
Build Node.js applications with a flexible JavaScript ORM. Features promise/callback interfaces, transactions, eager loading, and relations for PostgreSQL, MySQL, SQLite3.
ORM for TypeScript & JavaScript across platforms.
JavaScript & TypeScriptORMs
Build database-driven applications with TypeScript or JavaScript. Supports multiple SQL databases and runs across NodeJS, browser, mobile, and desktop platforms.
Modern ORM for TypeScript & Node.js SQL databases.
JavaScript & TypeScriptORMs
Manage database interactions in Node.js/TypeScript apps. Supports transactions, relations, eager/lazy loading, and multiple SQL databases like Postgres & MySQL.

Command Menu