gpt4 book ai didi

node.js - 无法连接到数据库 - NEST.JS 和 TypeORM

转载 作者:行者123 更新时间:2023-12-04 13:55:28 56 4
gpt4 key购买 nike

所以我在使用 typeorm 和 postgres 连接到 nest.js 中的数据库时遇到了问题。我的本地 postgres 实例在 docker 上运行。但是当我通过 yarn start 运行应用程序时,它会抛出该错误:

[Nest] 12736   - 2020-08-05 10:05:22   [TypeOrmModule] Unable to connect to the database. Retrying (1)... +86ms 
QueryFailedError: no schematic representation of the creation of the object was indicated
我的主要应用模块
@Module({
imports: [TypeOrmModule.forRoot(configService.getTypeOrmConfig()), UsersModule, LoginModule],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
我的配置
  public getTypeOrmConfig(): TypeOrmModuleOptions {
return {
type: 'postgres',
host: this.getValue('POSTGRES_HOST'),
port: parseInt(this.getValue('POSTGRES_PORT')),
username: this.getValue('POSTGRES_USER'),
password: this.getValue('POSTGRES_PASSWORD'),
database: this.getValue('POSTGRES_DATABASE'),
entities: [__dirname + "/../**/*.entity{.ts,.js}"],
synchronize: true,
};
}
我的环境文件
POSTGRES_HOST=127.0.0.1
POSTGRES_PORT=5432
POSTGRES_USER=postgres
POSTGRES_PASSWORD=kacluk123
POSTGRES_DATABASE=my_database
PORT=3000
MODE=DEV
运行 docker/postgres 的脚本
#!/bin/bash
set -e

SERVER="my_database_server";
PW="kacluk123";
DB="my_database";

echo "echo stop & remove old docker [$SERVER] and starting new fresh instance of [$SERVER]"
(docker kill $SERVER || :) && \
(docker rm $SERVER || :) && \
docker run --name $SERVER -e POSTGRES_PASSWORD=$PW \
-e PGPASSWORD=$PW \
-p 5432:5432 \
-d postgres

# wait for pg to start
echo "sleep wait for pg-server [$SERVER] to start";
SLEEP 3;

# create the db
echo "CREATE DATABASE $DB ENCODING 'UTF-8';" | docker exec -i $SERVER psql -U postgres
echo "\l" | docker exec -i $SERVER psql -U postgres

最佳答案

当我在 Nestjs 和 Typeorm 项目中遇到这个问题时,我的问题是我的数据库实际上并没有在我的 postgres 中创建,所以我需要创建它。请注意,我的操作系统是 Linux,为此我遵循了这些步骤。

  • sudo su - postgres
  • psql进入 postgres cli 命令
  • CREATE DATABASE databaseName;

  • 注意 postgres 命令末尾的分号,这些在语法 中是强制性的

    关于node.js - 无法连接到数据库 - NEST.JS 和 TypeORM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63261121/

    56 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com