node.js - 出现错误“MissingDriverError:错误的驱动程序:给出了“未定义”。” 同时使用 TypeORM 生成迁移
问题描述
我正在尝试生成迁移。我已将这些行添加到 package.json
"typeorm": "node --require ts-node/register ./node_modules/typeorm/cli.js --config src/config/configuration.ts",
"migration:generate":"npm run typeorm migration:generate -- -n"
我有一个 configuration.ts 文件,而不是看起来像这样的 ormconfig.json。
import { join } from 'path';
export default () => {
const host = process.env.DB_HOST;
const port = process.env.DB_PORT;
const username = process.env.DB_USERNAME;
const password = process.env.DB_PASSWORD;
const database = process.env.DB_DATABASE;
return {
database: {
type: 'mariadb',
host,
port,
username,
password,
database,
entities: ['dist/**/*.entity{.ts,.js}'],
synchronize: false,
migrations: ['/src/migration/**/*.ts'],
keepConnectionAlive: true,
charset: 'utf8mb4',
cli: {
migrationsDir: '/src/migrations',
},
},
};
};
运行命令时
npm run migration:generate -- softDeleteUser
有这个错误
> user-service@0.0.1 migration:generate
> npm run typeorm migration:generate -- -n "softDeleteUser"
> user-service@0.0.1 typeorm
> node --require ts-node/register ./node_modules/typeorm/cli.js --config src/config/configuration.ts "migration:generate" "-n" "softDeleteUser"
Error during migration generation:
MissingDriverError: Wrong driver: "undefined" given. Supported drivers are: "cordova", "expo", "mariadb", "mongodb", "mssql", "mysql", "oracle", "postgres", "sqlite", "better-sqlite3", "sqljs", "react-native", "aurora-data-api", "aurora-data-api-pg".
at new MissingDriverError (/Users/akash/Documents/Projects/pulp-backend/user-service/src/error/MissingDriverError.ts:8:9)
at DriverFactory.create (/Users/akash/Documents/Projects/pulp-backend/user-service/src/driver/DriverFactory.ts:67:23)
at new Connection (/Users/akash/Documents/Projects/pulp-backend/user-service/src/connection/Connection.ts:128:43)
at ConnectionManager.create (/Users/akash/Documents/Projects/pulp-backend/user-service/src/connection/ConnectionManager.ts:64:28)
at Object.<anonymous> (/Users/akash/Documents/Projects/pulp-backend/user-service/src/index.ts:230:35)
at step (/Users/akash/Documents/Projects/pulp-backend/user-service/node_modules/tslib/tslib.js:141:27)
at Object.next (/Users/akash/Documents/Projects/pulp-backend/user-service/node_modules/tslib/tslib.js:122:57)
at /Users/akash/Documents/Projects/pulp-backend/user-service/node_modules/tslib/tslib.js:115:75
at new Promise (<anonymous>)
at Object.__awaiter (/Users/akash/Documents/Projects/pulp-backend/user-service/node_modules/tslib/tslib.js:111:16)
有什么建议么?
解决方案
您是否尝试像这样导出配置:
export = ORMConfig;
推荐阅读
- ruby-on-rails - 在 ActiveRecord (Rails) 中存储图片的最佳数据类型是什么
- react-native - TypeError:navigation.getChildNavigation 不是函数。(在'navigation.getChildNavigation(route.key)'
- azure - Azure Gremlin 边缘遍历可疑地高(Out() 步骤)RU 成本
- python - 是否可以将 Cocoa API 与 Python 一起使用?
- c# - 在同步方法中,Thread.Sleep() 和将其包装在任务中然后调用 task.Wait() 之间有区别吗?
- python - 我想通过使用 ansible 在属性文件中查找来替换分隔符之间的字符串
- html - 无法在输入类型编号 iside 警报中设置步骤属性
- ruby-on-rails - 如何根据积分相应地查找和更新级别?
- php - 如何使用 PHP Jasper 在 XML 数据源上使用多个 xpath 数据集?
- typescript - TypeScript 抱怨 rc-tree Tree 没有 treeData 道具