라이브러리 설치
- TypeORM
$ npm install --save @nestjs/typeorm typeorm mysql2
- Typeorm naming strategies
$ npm install typeorm-naming-strategies --save
TypeORM 설정
app.module ->
@Module({
imports: [
TypeOrmModule.forRoot({
type: 'mysql',
host: 'localhost', //'127.0.0.1',
port: 3306,
username: 'root',
password: '',
database: 'test_typeORM',
// entities: [User],
autoLoadEntities: true, // 자동으로 엔티티 불러오는 옵션
synchronize: true,
logging: true,
namingStrategy: new SnakeNamingStrategy(),
})
],
아래 설정을 작동하게 하려면 -> BoardModule 도 import 해야함
autoLoadEntities: true
board.module.ts 에서 BoardModule 생성
import { Module } from '@nestjs/common';
import { BoardService } from './board.service';
import { BoardController } from './board.controller';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Board } from './board.entity';
@Module({
imports: [TypeOrmModule.forFeature([Board])],
controllers: [BoardController],
providers: [BoardService],
})
export class BoardModule {}
이러면 신기하게도 board가 알아서 생성이 된다.
그후 service 에서 board 를 선어해주면 내가 게시물을 게시하면 게시가된다.
@Injectable()
export class BoardService {
constructor(
@InjectRepository(Board)
private readonly boardRepository: Repository<Board>,
) {}
'프로그래밍 > Nest.js' 카테고리의 다른 글
[ NestJS ] Modules (0) | 2024.04.18 |
---|---|
[ NestJS ] Providers (0) | 2024.04.18 |
[ NestJS] DTO? (0) | 2024.04.17 |
[ NestJS ] Controllers (0) | 2024.04.15 |
[ NestJS ] 시작하기 (0) | 2024.04.15 |