Registry / database / adonis-mikro-orm

adonis-mikro-orm

JSON →
library1.0.21jsnpmunverified

AdonisJS provider integrating Mikro-ORM, an actively maintained TypeScript ORM with Identity Map, Unit of Work, and automatic schema migration. Current stable version 1.0.21. Release cadence is moderate. Key differentiator: seamless integration with AdonisJS 5, providing DI, config via env/ace, and lifecycle hooks. Supports MySQL, PostgreSQL, SQLite, MongoDB through Mikro-ORM drivers. TypeScript-first with full type safety.

npm install adonis-mikro-orm
INSTALL
IMPORT
SIG · ADONIS-MIKRO-ORM
A
adonis-mikro-orm
databasejavascriptv1.0.21
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

MikroOrmProvider
import { MikroOrmProvider } from 'adonis-mikro-orm/providers'
import MikroOrmProvider from 'adonis-mikro-orm/providers'
Named import from /providers subpath; default export not available.
MikroOrmConfig
import { MikroOrmConfig } from 'adonis-mikro-orm/decorators'
import { MikroOrmConfig } from 'adonis-mikro-orm'
Decorator exported from /decorators subpath; avoid top-level import.
EM
import { inject } from '@adonisjs/fold'; import EM from 'adonis-mikro-orm/entity-manager';
EM is the EntityManager instance; injected via Adonis IoC container. Do not import directly in service files.

Shows installation, configuration, model definition with Mikro-ORM decorators, and usage with EntityManager injection in AdonisJS 5 service.

// Install: npm i adonis-mikro-orm // Configure: // node ace configure adonis-mikro-orm // Then register provider in .adonisrc.json: // { // "providers": ["adonis-mikro-orm/providers"] // } // Create a model: import { Entity, PrimaryKey, Property } from '@mikro-orm/core'; import { MikroOrmRepository } from 'adonis-mikro-orm/repositories'; @Entity() export class User { @PrimaryKey() id!: number; @Property() name!: string; @Property() email!: string; } // Use in service: import { inject } from '@adonisjs/fold'; import EM from 'adonis-mikro-orm/entity-manager'; @inject() export class UserService { constructor(protected em: typeof EM) {} public async create(name: string, email: string) { const user = this.em.create(User, { name, email }); await this.em.persistAndFlush(user); return user; } }
Debug
Known issues
breakingBreaking: v1.0.0 changed provider export path from 'adonis-mikro-orm' to 'adonis-mikro-orm/providers'.
fix
Update import to 'adonis-mikro-orm/providers' and adjust configuration files accordingly.
affects: <1.0.0
gotchaMikro-ORM entity decorators must be imported from '@mikro-orm/core', not from 'adonis-mikro-orm'.
fix
Use import { Entity, PrimaryKey, Property } from '@mikro-orm/core'.
affects: >=1.0.0
deprecatedDeprecated: Using EntityManager directly via 'em' from IoC container is deprecated in favor of type-safe injection with the EM symbol.
fix
Inject EM symbol from 'adonis-mikro-orm/entity-manager' using @inject decorator.
affects: >=1.0.0
gotchaMigrations must be configured via Mikro-ORM config files; adonis-mikro-orm does not provide an Ace migration command.
fix
Use Mikro-ORM CLI directly: npx mikro-orm migration:create
affects: >=1.0.0
gotchaEnvironment variables for database connection (e.g., DB_HOST, DB_PORT) must be prefixed with MIKRO_ORM_ in .env file to be picked up correctly.
fix
Set MIKRO_ORM_HOST, MIKRO_ORM_PORT, etc. in .env.
affects: >=1.0.0
Errors
Common errors & fixes
Cannot find module 'adonis-mikro-orm/providers' or its corresponding type declarations.
Forget to install the package or wrong import path.
fix
Run: npm i adonis-mikro-orm; check import path is 'adonis-mikro-orm/providers' (not 'adonis-mikro-orm').
TypeError: Cannot read properties of undefined (reading 'create')
EntityManager not properly injected or not available.
fix
Ensure provider is registered in .adonisrc.json and service uses @inject() decorator with EM symbol.
Entity 'User' not found, maybe it's not added to the ORM config?
Entities are not registered in Mikro-ORM configuration.
fix
In mikro-orm.config.ts, add entities: ['./app/Models/*.js'] or import manually.
Upgrade
Version history
1.0.21latest on npm
Audit
Dependencies
@adonisjs/corerequiredPeer dependency: AdonisJS core framework required for provider registration and DI.
Agent activity
44 hits · last 30 days
node
34
OpenAI (training)
1
Resources
adonis-mikro-orm — npm install adonis-mikro-orm · libregistry