inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

Delete 함수로 데이터 삭제하기

데이터베이스와 네스트가 연결이 안됩니다.

298

a24746440

작성한 질문수 3

0


import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { PostsModule } from './posts/posts.module';
import { TypeOrmModule } from '@nestjs/typeorm';
import { PostModel } from './posts/entities/posts.entity';

@Module({
  imports: [
    PostsModule,
    TypeOrmModule.forRoot({
      type: 'postgres',
      host: '127.0.0.1',
      port: 5432,
      username: 'postgres',
      password: 'postgres',
      database: 'postgres',
      entities: [PostModel],
      synchronize: true,
    }),
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}
services:
  postgres:
    image: postgres:15
    restart: always
    volumes:
      - ./postgres-data:/var/lib/postgresql/data
    ports:
      - '5432:5432'
    environment:
      POSTGRESQL_USER: postgres
      POSTGRESQL_PASSWORD: postgres
      POSTGRESQL_DB: postgress
      POSTGRES_HOST_AUTH_METHOD: trust

현재 데이터베이스 도커 컴포즈 코드와 네스트 서버를 연결하려고 합니다.

Screenshot 2024-05-03 at 5.10.29 PM.png서버 로그는 이렇게 뜨고,

 

Screenshot 2024-05-03 at 5.10.48 PM.png익스텐션에서 들어가면 이런 에러가 뜹니다.

실습을 못하고 있어요. 도와주세요ㅜㅜ

javascript typescript rest-api nestjs backend

답변 2

0

코드팩토리

안녕하세요!

POSTGRES_AUTH_METHOD를 추가하신 이유가 있을까요? (docker-compose.yaml에)

삭제하면 될것같습니다.

그래도 안된다면 저희 카카오채널에서 원격신청 해주세요!

https://links.codefactory.ai

감사합니다!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

데이터베이스 연결 문제로 인해 어려움을 겪고 계신 것 같습니다. 제시해주신 정보를 기반으로 몇 가지 조치를 취해볼 수 있습니다.

  1. Docker Compose 파일의 환경 변수 설정이 NestJS 서버 설정과 정확히 일치하는지 확인하세요. 특히 환경 변수 이름에 오타가 없는지 확인해보세요. 예를 들어, POSTGRESQL_USER, POSTGRESQL_PASSWORD, POSTGRESQL_DB가 NestJS 설정에서 사용하는 이름과 일치하는지 확인합니다. NestJS 설정에서는 username, password, database로 되어 있으니 이를 Docker Compose 환경 변수와 일치시켜야 합니다.

  2. Docker Compose 파일 내에서 POSTGRES_DB 환경 변수의 값에 오타가 보입니다. postgress가 아니라 postgres가 되어야 할 것 같습니다. 이것도 수정해 보세요.

  3. “trust” 인증 문제의 경우, PostgreSQL 설정에서 trust 인증 방식이 클라이언트 IP나 호스트에 대해서 적용되어 있는지 확인해야 합니다. pg_hba.conf 파일을 확인하여 trust로 설정된 부분이 있는지 확인하고, 필요하다면 md5 또는 다른 인증 방식으로 변경해 보세요.

  4. TypeOrmModule 설정에 명시된 호스트가 localhost로 되어 있습니다. Docker 컨테이너 내부에서 서비스 간 통신을 할 때는 서비스 이름을 사용할 수 있습니다. 따라서, Docker Compose 파일의 services에 정의된 서비스 이름(postgres)을 사용하여 호스트를 postgres로 변경해 보세요.

위의 사항들을 확인하고 수정한 후 다시 실행해 보세요. 환경 구성의 작은 차이가 연결 문제를 일으킬 수 있기 때문에, 설정 값들을 정확히 일치시키는 것이 중요합니다.

cascade 질문

0

38

1

@types/bcrypt 설치과정이 누락된것같습니다.

0

45

1

process.env port key 에러

0

45

1

추상화

0

48

1

[공유] DTO optional 필드가 undefined로 잡혀 TypeORM 조건이 깨지는 현상

0

93

2

where 키워드가 들어가는 메서드와 아닌 메서드

0

56

1

BearerTokenGuard에서 db를 조회해서 유저 정보를 불러오는 이유?

0

69

1

app.controller app.service 는 지워도되나요?

0

69

1

@JoinColumn을 쓰는 경우와 안쓰는 경우의 차이

0

78

1

포트 3000에서 listen하는 곳까지 넘어가지 않습니다.

0

64

1

PickType 사용 시 `as const`를 꼭 사용해야 하나요?

0

102

2

socket connect 오류

0

96

2

강의를 들으면서 궁금한 점

0

97

2

DELETE 요청의 반환값은 어떤 기준으로 결정하는 게 좋을까요?

0

59

2

커리큘럼 질문

0

98

2

put 요청은 언제

0

90

3

typeorm VS prisma

0

343

2

142 강의 > 4:00 > 포스트멘 활용 관련 질문 드립니다.

0

76

2

User 데코레이터 버그 수정 전달드립니다.

0

67

1

git 주소 부탁드립니다.

0

112

2

nest g resource 명령어 에러

0

99

2

로그인 엔드포인트 관련 질문

0

84

2

yarn으로 express 다운 후 node 2_server.js 실행 안되는 경우

0

146

3

"흔히 사용되는 메서드" 강의 관련 질문입니다~

0

95

2