0

我遇到了与此处所述类似的问题。跟随 Ben Awad 的 YouTube 教程:请参阅此处了解我在教程中的位置。

目标:运行npx mikro-orm migration:create以创建 Mikro ORM 迁移,如教程中所示。

到目前为止我所做的:我能够设置 Postgres 13 并通过 psql CLI (SQL Shell) 和 pgAdmin 工具进行连接。但是当我npx mikro-orm migration:create在我的 VS Code 终端中运行时,我得到:

error: password authentication failed for user "postgres"
        at Parser.parseErrorMessage (C:\EJdesktop\Web Dev\playground\reddit-server\node_modules\pg-protocol\src\parser.ts:357:11)
        at Parser.handlePacket (C:\EJdesktop\Web Dev\playground\reddit-server\node_modules\pg-protocol\src\parser.ts:186:21)
        at Parser.parse (C:\EJdesktop\Web Dev\playground\reddit-server\node_modules\pg-protocol\src\parser.ts:101:30)
        at Socket.<anonymous> (C:\EJdesktop\Web Dev\playground\reddit-server\node_modules\pg-protocol\src\index.ts:7:48)
        at Socket.emit (events.js:314:20)
        at Socket.EventEmitter.emit (domain.js:486:12)
        at addChunk (_stream_readable.js:307:12)
        at readableAddChunk (_stream_readable.js:282:9)
        at Socket.Readable.push (_stream_readable.js:221:10)
        at TCP.onStreamRead (internal/stream_base_commons.js:188:23) {
      length: 163,
      severity: 'FATAL',
      code: '28P01',
      detail: undefined,
      hint: undefined,
      position: undefined,
      internalPosition: undefined,
      internalQuery: undefined,
      where: undefined,
      schema: undefined,
      table: undefined,
      column: undefined,
      dataType: undefined,
      constraint: undefined,
      file: 'd:\\pginstaller.auto\\postgres.windows-x64\\src\\backend\\libpq\\auth.c',
      line: '336',
      routine: 'auth_failed'
    }

这是我的mikro-orm.config.ts文件:

import { __prod__ } from "./constants";
import { Post } from "./entities/Post";
import { MikroORM } from "@mikro-orm/core";
import path from "path";


export default {
        migrations: {
            //join file paths
            path: path.join(__dirname, './migrations'), // path to the folder with migrations
            pattern: /^[\w-]+\d+\.[tj]s$/, // regex pattern for the migration files
        },
        entities: [Post],
        dbName: 'postgres',
        type: 'postgresql',
        debug: !__prod__
} as Parameters<typeof MikroORM.init>[0]

我的pg_hba.conf(对于 Postgres)最初显示如下:

local   replication     all                                     scram-sha-256
host    replication     all             127.0.0.1/32            scram-sha-256
host    replication     all             ::1/128                 scram-sha-256

尝试更改它以添加 3 多行以匹配上面引用的示例

local   all             all                                     peer
host    all             all             127.0.0.1/32            trust
host    all             all             ::1/128                 trust
local   replication     all                                     scram-sha-256
host    replication     all             127.0.0.1/32            scram-sha-256
host    replication     all             ::1/128                 scram-sha-256

我不断收到同样的错误。

让我知道我是否可以进一步澄清。有什么建议吗?

4

1 回答 1

0
  1. pg_hba.conf文件中将 postgres 用户的方法更改为 md5。让受信任的人保持原样。

  2. postgresql.conf档案。它与 pg_hba.conf. 将默认端口更改为 5432。出于某种原因,我的端口设置为 5433。

  3. 运行这个命令:sudo service postgresql restart. 转到您的配置对象并添加userpassword属性并将“postgres”指示为用户,以及您为 postgres 用户设置的任何密码。

  4. 现在运行npx mikro-migration:create

希望这会有所帮助。

于 2021-03-02T05:09:34.100 回答