MikroORM Migrations
Create and manage database migrations with MikroORM.
Overviewβ
Gauzy supports MikroORM as an alternative ORM. Set DB_ORM=mikroorm to use it.
Creating Migrationsβ
# Auto-generate migration from entity changes
npx mikro-orm migration:create
# Create blank migration
npx mikro-orm migration:create --blank
Migration Fileβ
import { Migration } from "@mikro-orm/migrations";
export class Migration20250305120000 extends Migration {
async up(): Promise<void> {
this.addSql(`
ALTER TABLE "employee"
ADD COLUMN "phone_number" varchar(20)
`);
}
async down(): Promise<void> {
this.addSql(`
ALTER TABLE "employee"
DROP COLUMN "phone_number"
`);
}
}
Running Migrationsβ
# Run pending migrations
npx mikro-orm migration:up
# Rollback last migration
npx mikro-orm migration:down
# Check pending migrations
npx mikro-orm migration:pending
# Fresh migration (drop all & re-run)
npx mikro-orm migration:fresh
Configurationβ
// mikro-orm.config.ts
export default {
migrations: {
tableName: "mikro_orm_migrations",
path: "./src/database/migrations",
pattern: /^[\w-]+\d+\.ts$/,
transactional: true,
},
};
Multi-ORM Compatibilityβ
When using Multi-ORM entities, migrations must be created for each ORM independently. Use the DB_ORM environment variable to switch between them.
Related Pagesβ
- TypeORM Migrations β TypeORM migrations
- TypeORM to MikroORM Migration β ORM migration
- Multi-ORM Architecture β ORM support