inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

10-02 MySQL Query

section 10-01 실습중에 DB연결 및 생성이 안되서 질문드립니다.

해결된 질문

487

elgh1234

작성한 질문수 1

0

import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo';
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { GraphQLModule } from '@nestjs/graphql';
import { TypeOrmModule } from '@nestjs/typeorm';
import { BoardsModule } from './apis/boards/boards.module';

@Module({
  imports: [
    BoardsModule,
    ConfigModule.forRoot(),
    GraphQLModule.forRoot<ApolloDriverConfig>({
      driver: ApolloDriver,
      autoSchemaFile: 'src/commons/graphql/schema.gql',
    }),
    TypeOrmModule.forRoot({
      type: process.env.DATABASE_TYPE as 'mysql',
      host: process.env.DATABASE_HOST,
      port: Number(process.env.DATABASE_PORT),
      username: process.env.DATABASE_USERNAME,
      password: process.env.DATABASE_PASSWORD,
      database: process.env.DATABASE_DATABASE, // env파일에서 수정
      entities: [__dirname + '/apis/**/*.entity.*'], // 수정
      synchronize: true,
      logging: true,
    }),
  ],
})
export class AppModule {}

 위와같이 코드 작성했고

터미널에서 yarn start:dev 할경우

아래와 같이 오류가 떠서 작동이 되지않습니다.

어떻게하면 될까요?

[Nest] 13226 - 2024. 03. 15. 오전 10:07:01 ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)...

MissingDriverError: Wrong driver: "undefined" given. Supported drivers are: "aurora-mysql", "aurora-postgres", "better-sqlite3", "capacitor", "cockroachdb", "cordova", "expo", "mariadb", "mongodb", "mssql", "mysql", "nativescript", "oracle", "postgres", "react-native", "sap", "sqlite", "sqljs", "spanner".

at DriverFactory.create (/home/seasnake/CODECAMP-BACKEND-CLASS/class/section10/10-01-mysql-relation/src/driver/DriverFactory.ts:72:23)

at new DataSource (/home/seasnake/CODECAMP-BACKEND-CLASS/class/section10/10-01-mysql-relation/src/data-source/DataSource.ts:149:43)

at createTypeormDataSource (/home/seasnake/CODECAMP-BACKEND-CLASS/class/section10/10-01-mysql-relation/node_modules/@nestjs/typeorm/dist/typeorm-core.module.js:164:23)

at /home/seasnake/CODECAMP-BACKEND-CLASS/class/section10/10-01-mysql-relation/node_modules/@nestjs/typeorm/dist/typeorm-core.module.js:169:36

at Observable._subscribe (/home/seasnake/CODECAMP-BACKEND-CLASS/class/section10/10-01-mysql-relation/node_modules/rxjs/src/internal/observable/defer.ts:55:15)

at Observable._trySubscribe (/home/seasnake/CODECAMP-BACKEND-CLASS/class/section10/10-01-mysql-relation/node_modules/rxjs/src/internal/Observable.ts:244:19)

at /home/seasnake/CODECAMP-BACKEND-CLASS/class/section10/10-01-mysql-relation/node_modules/rxjs/src/internal/Observable.ts:234:18

at Object.errorContext (/home/seasnake/CODECAMP-BACKEND-CLASS/class/section10/10-01-mysql-relation/node_modules/rxjs/src/internal/util/errorContext.ts:29:5)

at Observable.subscribe (/home/seasnake/CODECAMP-BACKEND-CLASS/class/section10/10-01-mysql-relation/node_modules/rxjs/src/internal/Observable.ts:220:5)

at subscribeForRetryWhen (/home/seasnake/CODECAMP-BACKEND-CLASS/class/section10/10-01-mysql-relation/node_modules/rxjs/src/internal/operators/retryWhen.ts:74:25)

javascript node.js docker rest-api nestjs

답변 2

0

노원두

안녕하세요! elgh1234님!

해당 에러메시지를 확인해 보니, 지원되는 데이터베이스가 없다고 하는 것 같아요!
다시말해, process.env.DATABASE_TYPE 부분을 읽어오지 못하였다는 뜻이에요!

따라서, .env 파일에 DATABASE_TYPE 부분에 오타가 있는지 확인이 필요해 보여요!

0

인프런 AI 인턴

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

오류 메시지는 TypeOrmModule이 데이터베이스에 연결할 수 없다는 내용입니다. 그리고 MissingDriverError라는 오류는 지원되는 드라이버 중에서 “undefined”로 드라이버가 지정되어 있지 않다는 의미입니다. 즉, 데이터베이스 드라이버가 환경변수에서 올바르게 설정되지 않아 발생한 문제로 보입니다.

첫 번째로 해볼 수 있는 것은 모듈을 임포트하는 부분에서 사용된 환경 변수들이 올바르게 설정되었는지 확인하는 것입니다. .env 파일이나 환경변수 설정 부분에 DATABASE_TYPE이 올바로 설정되어 있는지, 그리고 오타는 없는지 확인해주세요. 예를 들어, mysql이라고 설정해야 할 곳에 msyql처럼 잘못 입력되지 않았는지 검토해 보시기 바랍니다.

또한, 환경 변수를 불러오는 과정에서 문제가 발생할 수도 있습니다. 예를 들어, ConfigModule.forRoot() 호출 시 환경 변수 파일의 위치나 이름을 명시하지 않았을 때 발생할 수 있습니다. 만약 사용하는 환경 변수 파일이 특정 위치에 있거나 이름이 .env가 아닐 경우, ConfigModule 설정에서 해당 위치와 이름을 명시해야 합니다.

마지막으로, 환경 변수를 로드한 후에 응용 프로그램이 이를 제대로 인식하고 있는지 검증하기 위해 응용 프로그램을 다시 시작해보는 것이 좋습니다. 설정이 변경된 후 반드시 응용 프로그램을 재시작하여 변경 사항을 적용해야 합니다.

이러한 점들을 검토한 후에도 문제가 해결되지 않는다면, 환경 설정 파일의 내용이나 구체적인 설정 방법 등을 다시 한 번 점검해보시기 바랍니다.

그래프 ql 문서 사용할때 느낌표 남는거 어떻게 없애나요?

0

82

2

강의 전체 소스 코드를 받고싶습니다.

0

75

2

fontawesome 사용 문의

0

76

2

소스 코드 부탁드립니다~

0

84

2

깃 레포지터리 소스

0

80

2

커리큘럼12.css 정렬 에 나오는 과제 정답알고싶어요

0

72

2

10-01 Entity TypeOrmModule.forRoot 에 entities

0

84

3

강의 버전관련 문의입니다

0

101

2

Ubuntu 설치 관련

0

60

1

schema.gql 질문 드립니다.

0

50

1

서버 재실행시 Many to Many

0

100

3

input 관련 문의

0

89

2

Rest API 보다는 graphql이 주된 내용인데

0

130

2

강의 전체 소스코드 받을수있을까요?

0

154

1

도커볼륨 마운트 관련

0

126

2

findOne 타입스크립트오류

0

108

1

http => htrtps 호출 인증서 신뢰 오류

0

348

1

self-signed certificate in certificate chain 에러 발생

0

410

1

mongoose 설치 오류

0

141

1

특정 API, 특정 IP 허용 (단일경로에 CORS 활성화)

0

280

2

08-06

0

177

3

구조랑 패턴 관련해서 질문

0

124

2

mydocker

0

127

2

coolsms statuscode 2000 인데 전송안돼는 경우 확인.

0

155

1