티스토리 뷰

'string' 형식은 'DatabaseType' 형식에 할당할 수 없습니다.ts(2322)

 

TypeORM을 사용하면서 development 환경에선 sqlite를 사용하고 staging 환경에서는 postgres, production 환경에서는 aurora-postgresql을 사용하고 싶었다

그래서 각각의 환경 변수의 파일인 .development.env, .staging.env, .production.env 에 DATABASE_TYPE으로 구분해서 저장하고 싶었다.

그러나 TypeORM의 모듈인 TypeOrmModule에서 forRoot에 데이터베이스 타입 속성값인 type은 string이 아닌 DatabaseType이란 typeorm 라이브러리가 정의한 타입이다

 

// DatabaseType.d.ts

/**
 * Database type.
 */
export declare type DatabaseType = "mysql" | "postgres" | "cockroachdb" | "sap" | "mariadb" | "sqlite" | "cordova" | "react-native" | "nativescript" | "sqljs" | "oracle" | "mssql" | "mongodb" | "aurora-mysql" | "aurora-postgres" | "expo" | "better-sqlite3" | "capacitor" | "spanner";

 

TypeORM은 위와 같이 19개의 데이터베이스만 지원한다.

 

그래서 환경변수에서 그대로 데이터베이스 타입을 가져오면 환경변수는 string 타입으로 사용되기 때문에 에러가 발생했다.

 

아래와 같이 형변환을 해주면 호출 가능

...
{
	type: process.env.DATABSE_TYPE as DatabaseType,
}
...

 

에러가 나지 않고 잘 호출된다

'Node.js > TypeORM' 카테고리의 다른 글

TypeORM Config Entity 삽질  (0) 2022.08.18
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함