将MikroORM迁移与Postgresql连接起来? npx命令失败我想念什么?

问题描述

我遇到与described here类似的问题。 在Ben Awad的YouTube教程之后:see here for where我在该教程中。

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

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

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行以匹配example referenced above

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

我一直遇到同样的错误

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

解决方法

  1. pg_hba.conf 文件中,将 postgres 用户的方法更改为 md5。保持 值得信赖的人。

  2. 转到 postgresql.conf 文件。它与目录在同一目录中 pg_hba.conf。将默认端口更改为 5432。我的设置为 5433 出于某种原因。

  3. 运行此命令:sudo service postgresql restart。去你的 config 对象并添加 userpassword 属性并指示 “postgres”作为用户,以及您为 postgres 用户设置的任何密码。

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

希望这会有所帮助。