使用Npx mikro-orm迁移的Ben Awad vid教程问题:创建

问题描述

我正在逐步按照本教程进行操作,当我进入运行npx mikro-orm migration:create部分时,会出现此错误

TypeError [ERR_INVALID_ARG_TYPE]: The "key" argument must be of type string or an instance of Buffer,TypedArray,DataView,or KeyObject. Received null

    at prepareSecretKey (internal/crypto/keys.js:322:11)
    at new Hmac (internal/crypto/hash.js:113:9)
    at Object.createHmac (crypto.js:147:10)
    at createHMAC (C:\lireddit-server\node_modules\pg\lib\sasl.js:133:17)
    at Hi (C:\lireddit-server\node_modules\pg\lib\sasl.js:137:13)
    at Object.continueSession (C:\lireddit-server\node_modules\pg\lib\sasl.js:32:24)
    at Client._handleAuthSASLContinue (C:\lireddit-server\node_modules\pg\lib\client.js:248:10)
    at Connection.emit (events.js:314:20)
    at Connection.EventEmitter.emit (domain.js:483:12)
    at C:\lireddit-server\node_modules\pg\lib\connection.js:109:12
    at Parser.parse (C:\lireddit-server\node_modules\pg-protocol\src\parser.ts:102:9)
    at Socket.<anonymous> (C:\lireddit-server\node_modules\pg-protocol\src\index.ts:7:48)
    at Socket.emit (events.js:314:20)
    at Socket.EventEmitter.emit (domain.js:483:12)
    at addChunk (_stream_readable.js:298:12)
    at readableAddChunk (_stream_readable.js:273:9)```

I can't find any solution on google,and the tut doesn't point out how to login to postgresql on the app

解决方法

您缺少某些配置,很可能是userpassword字段。这是相关问题:

https://github.com/mikro-orm/mikro-orm/issues/866

如果您不提供它们,则MikroORM将选择给定驱动程序的默认值,即postgres用户和空密码-您的postgres安装显然没有该用户的空密码。

如果您使用docker创建postgres服务器,则可以通过这种方式使其接受空的pws:

  postgre:
    image: postgres:12.4
    ports:
      - 5432:5432
    environment:
      POSTGRES_HOST_AUTH_METHOD: trust   <-- here