Skip to content

[Bug]: mikro-orm deprecated type field #1779

@jengo

Description

@jengo

Contact Details

No response

What happened?

List what you are trying to do?

I am trying to setup AdminJS with mikro-orm. Following the documentation I tried using:

const mikroOrmConfig: any =
{
	entities: [Event, Config],
	dbName: "dbname",
	user: "user",
	password: "****",
	type: 'postgresql',
	host: "db",
	port: 5432,
	debug: true,
	extensions: [SeedManager],
}

However, this results in the following error:

Error: The `type` option has been removed in v6, please fill in the `driver` option instead or use `defineConfig` helper (to define your ORM config) or `MikroORM` class (to call the `init` method) exported from the driver package (e.g. `import { defineConfig } from '@mikro-orm/mysql'; export default defineConfig({ ... })`).
    at Configuration.validateOptions (/app/node_modules/@mikro-orm/core/utils/Configuration.js:383:19)
    at new Configuration (/app/node_modules/@mikro-orm/core/utils/Configuration.js:152:18)
    at new MikroORM (/app/node_modules/@mikro-orm/core/MikroORM.js:98:27)
    at PostgreSqlMikroORM.init (/app/node_modules/@mikro-orm/core/MikroORM.js:44:21)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async initORM (file:///app/src/db.ts:10:17)
    at async Namespace.<anonymous> (file:///app/src/configs.ts:9:20)

When I try using the required field driver like:

const mikroOrmConfig: any =
{
	entities: [Event, Config],
	dbName: "dbname",
	user: "user",
	password: "****",
	driver: PostgreSqlDriver,
	host: "db",
	port: 5432,
	debug: true,
	extensions: [SeedManager],
}

this results in a different error of:

Unable to connect to the database: NoDatabaseAdapterError: There are no adapters supporting one of the database you provided
    at file:///app/node_modules/adminjs/lib/backend/utils/resources-factory/resources-factory.js:45:15
    at Array.reduce (<anonymous>)
    at ResourcesFactory._convertDatabases (file:///app/node_modules/adminjs/lib/backend/utils/resources-factory/resources-factory.js:42:22)
    at ResourcesFactory.buildResources (file:///app/node_modules/adminjs/lib/backend/utils/resources-factory/resources-factory.js:31:36)
    at new AdminJS (file:///app/node_modules/adminjs/lib/adminjs.js:79:39)
    at Server.<anonymous> (file:///app/src/server.ts:81:23)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5) {
  database: {
    orm: MikroORM {
      em: [EntityManager<1>],
      config: [Configuration],
      metadata: [MetadataStorage],
      driver: [PostgreSqlDriver],
      logger: [DefaultLogger],
      discovery: [MetadataDiscovery]
    },
    em: [EntityManager<1>],
    event: SqlEntityRepository { em: [EntityManager<1>], entityName: 'Event' }
  }
}

Bug prevalence

always

AdminJS dependencies version

"dependencies": {
	"@adminjs/express": "^6.1.1",
	"@adminjs/mikroorm": "^4.0.0",
	"@mikro-orm/cli": "^6.4.16",
	"@mikro-orm/core": "^6.4.16",
	"@mikro-orm/migrations": "^6.4.16",
	"@mikro-orm/postgresql": "^6.4.16",
	"@mikro-orm/reflection": "^6.4.16",
	"@mikro-orm/seeder": "^6.4.16",
	"@socket.io/admin-ui": "^0.5.1",
	"@socket.io/postgres-adapter": "^0.4.0",
	"@types/express": "^5.0.3",
	"@types/express-session": "^1.18.2",
	"@types/node": "^24.0.13",
	"@types/socket.io": "^3.0.2",
	"adminjs": "^7.8.16",
	"dotenv": "^17.2.0",
	"express": "^5.1.0",
	"express-formidable": "^1.2.0",
	"express-session": "^1.18.1",
	"ioredis": "^5.6.1",
	"knex": "^3.1.0",
	"nodemon": "^3.1.10",
	"objection": "^3.1.5",
	"pg": "^8.16.3",
	"redis": "^5.6.0",
	"reflect-metadata": "^0.2.2",
	"socket.io": "^4.8.1",
	"ts-node": "^10.9.2",
	"typescript": "^5.8.3",
	"unique-names-generator": "^4.7.1"
},

What browsers do you see the problem on?

No response

Relevant log output

Relevant code that's giving you issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions