Не могу создать миграцию с помощью MikroORM и NestJS

Невозможно создать миграцию или любую другую команду интерфейса командной строки MikroORM из-за непредвиденной ошибки в файле конфигурации.

Это текущие версии MikroORM и NestJS, используемые в моем package.json.

"@mikro-orm/core": "^5.5.3",
"@mikro-orm/mysql": "^5.5.3",
"@mikro-orm/nestjs": "^5.1.2",
"@nestjs/common": "^9.0.0",
"@nestjs/core": "^9.0.0",
"@nestjs/platform-express": "^9.0.0",
"@mikro-orm/cli": "^5.5.3",
"@nestjs/cli": "^9.0.0",
"@nestjs/schematics": "^9.0.0",
"@nestjs/testing": "^9.0.0",
"ts-node": "^10.9.1",

Интерфейс командной строки MikroORM был настроен в package.json для использования ts-node, согласно официальной документации.

"mikro-orm": {
  "useTsNode": true,
  "configPaths": [
    "./src/config/mikro-orm.config.ts",
    "./dist/config/mikro-orm.config.js"
  ]
}

А это мой mikro-orm-config.ts файл

export const mikroOrmConfig: Options = {
  type: 'mysql',
  host: '127.0.0.1',
  port: 3306,
  dbName: 'market_store',
  user: 'root',
  password: 'admin',
  entities: ['dist/**/*.entity.js'],
  entitiesTs: ['src/**/*.entity.ts'],
  migrations: {
    path: 'dist/migrations',
    pathTs: 'src/migrations',
  },
};

Как видите, был указан type, но когда я запускаю любую команду MikroORM CLI, я получаю следующую ошибку:

Error: No platform type specified, please fill in `type` or provide custom driver class in `driver` option. Available platforms types: [
  'mongo',
  'mysql',
  'mariadb',
  'postgresql',
  'sqlite',
  'better-sqlite'
]

Ниже приведен вывод моей команды npx mikro-orm debug

Current MikroORM CLI configuration
 - dependencies:    
   - mikro-orm 5.5.3
   - node 18.12.1   
   - typescript 4.9.3
 - package.json found                                                                              
 - ts-node enabled                                                                                 
 - searched config paths:                                                                          
   - C:/Users/DanielMendesSechisnk/Projects/nestjs-rest-api/src/config/mikro-orm.config.ts (found) 
   - C:/Users/DanielMendesSechisnk/Projects/nestjs-rest-api/dist/config/mikro-orm.config.js (found)
   - C:/Users/DanielMendesSechisnk/Projects/nestjs-rest-api/src/mikro-orm.config.ts (not found)    
   - C:/Users/DanielMendesSechisnk/Projects/nestjs-rest-api/mikro-orm.config.ts (not found)        
   - C:/Users/DanielMendesSechisnk/Projects/nestjs-rest-api/dist/mikro-orm.config.js (not found)   
   - C:/Users/DanielMendesSechisnk/Projects/nestjs-rest-api/mikro-orm.config.js (not found)        
- configuration not found (No platform type specified, please fill in `type` or provide custom driver class in `driver` option. Available platforms types: [
  'mongo',
  'mysql',
  'mariadb',
  'postgresql',
  'sqlite',
  'better-sqlite'
])

Я создал свои сущности вручную в своей базе данных, чтобы увидеть, может ли приложение подключиться к базе данных за пределами интерфейса командной строки MikroORM, и это удалось, я смог выполнить несколько операций CRUD в своей базе данных, при этом она правильно обновилась.

Я даже пытался использовать более низкую версию MikroORM, например 5.0.3, так как в официальной документации есть рабочий пример с его использованием, но та же ошибка сохранялась.

Что мне не хватает?

Шаблоны Angular PrimeNg
Шаблоны Angular PrimeNg
Как привнести проверку типов в наши шаблоны Angular, использующие компоненты библиотеки PrimeNg, и настроить их отображение с помощью встроенной...
Освоение принципов SOLID в JavaScript: Пошаговое руководство
Освоение принципов SOLID в JavaScript: Пошаговое руководство
Принцип единой ответственности (SRP): класс должен иметь только одну причину для изменения. Другими словами, у него должна быть только одна...
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Создание собственной системы электронной коммерции на базе Keystone.js - настройка среды и базовые модели
Создание собственной системы электронной коммерции на базе Keystone.js - настройка среды и базовые модели
Прошлая статья была первой из цикла статей о создании системы электронной коммерции с использованием Keystone.js, и она была посвящена главным образом...
0
0
124
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте экспорт по умолчанию в файле конфигурации.

Вау, это такая маленькая деталь, она решила мою проблему, спасибо, что заметили и нашли время ответить

Daniel Mendes Sechinske 19.11.2022 12:17

Другие вопросы по теме