728x90
반응형
EntityMetadataNotFoundError는 TypeORM이 데이터베이스 테이블과 연결될 엔티티의 메타데이터를 찾을 수 없을 때 발생하는 오류입니다.
이 문제는 대개 엔티티 파일의 위치가 잘못되었거나, TypeOrmModule에 엔티티를 잘못 등록했을 때 발생하게 되는데요.
저는 아래와 같이 entities를 지정한 상태에서 에러가 나서
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { UsersModule } from './users/users.module';
// Other imports...
@Module({
imports: [
TypeOrmModule.forRoot({
type: 'mysql',
host: 'localhost',
port: 3306,
username: process.env.DB_USER,
password: process.env.DB_PW,
database: process.env.DB_NAME,
entities: ['entities/*.js'],
synchronize: false,
logging: true,
keepConnectionAlive: true,
migrations: [__dirname + '/src/migrations/*.ts'],
}),
UsersModule, // Ensure UsersModule is included here
// Other modules...
],
controllers: [/* controllers here */],
providers: [/* providers here */],
})
export class AppModule {}
import { WorkspacesModule } from './workspaces/workspaces.module';
import { ChannelsModule } from './channels/channels.module';
import { DmsModule } from './dms/dms.module';
import { UsersService } from './users/users.service';
import * as process from 'process';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Users } from './entities/Users';
import { Channels } from './entities/Channels';
import { Dms } from './entities/Dms';
import { Channelchats } from './entities/Channelchats';
import { Mentions } from './entities/Mentions';
import { Channelmembers } from './entities/Channelmembers';
import { Workspacemembers } from './entities/Workspacemembers';
import { Workspaces } from './entities/Workspaces';
@Module({
imports: [
TypeOrmModule.forFeature([Users]),
ConfigModule.forRoot({ isGlobal: true }),
UsersModule,
WorkspacesModule,
ChannelsModule,
DmsModule,
TypeOrmModule.forRoot({
type: 'mysql',
host: 'localhost',
port: 3306,
username: process.env.DB_USER,
password: process.env.DB_PW,
database: process.env.DB_NAME,
entities: [
Users,
Channels,
Dms,
Channelchats,
Mentions,
Channelmembers,
Workspacemembers,
Workspaces,
],
synchronize: false,
logging: true,
keepConnectionAlive: true,
migrations: [__dirname + '/src/migrations/*.ts'],
}),
],
controllers: [AppController],
providers: [AppService, UsersService],
})
위와 같이 하나하나 지정해주는 형태로 사용하여 해결하였습니다.
728x90
반응형
'프로그래밍(Basic) > NestJS' 카테고리의 다른 글
[바미] NestJS - 데코레이터(Custom decorators) (0) | 2024.03.02 |
---|---|
[바미] NestJS를 사용하여 REST API 구현하기 (0) | 2024.03.01 |
[바미] Nest 모듈(Module) 이해하기 (0) | 2024.02.27 |
[바미] Nest 소개 (0) | 2024.02.26 |
Nest - Swagger에서 변수 optional하게 처리해야 할 때 (0) | 2024.01.03 |