추가 기능을 사용할 수 있는 몇 가지 Special columns들이 있습니다.
@PrimaryGeneratedColumn
은 자동생성되는 ID값을 표현하는 방식을 2가지 옵션을 사용할 수 있도록 도와줍니다.
@CreateDateColumn
은 엔터티의 삽입 날짜로 자동 설정되는 특수 열입니다. 이 열은 설정할 필요가 없습니다. 자동으로 설정됩니다.
@UpdateDateColumn
은 entity manager 또는 repository의 저장을 호출할 때마다 엔티티의 업데이트 시간으로 자동 설정되는 특수 컬럼입니다. 이 열은 설정할 필요가 없습니다. 자동으로 설정됩니다.
@DeleteDateColumn
은 entity manager 또는 repository의 일시 삭제를 호출할 때마다 엔터티의 삭제 시간으로 자동 설정되는 특수 열입니다. 이 열은 설정할 필요가 없습니다. 자동으로 설정됩니다. @DeleteDateColumn
이 설정되면 기본 범위는 "삭제되지 않음"이 됩니다.
user entity를 생성합니다. nest g mo users
를 입력하여 users.module.ts
파일을 생성합니다.
[users] > [entities] > user.entity.ts
파일을 생성한 후 email, password, role를 db에 저장할 수 있도록 User class를 만듭니다.
nest g mo common
를 입력하고 [common] > [entities] > core.entity.ts
파일을 생성합니다. @PrimaryGeneratedColumn
를 이용한 id, @CreateDateColumn
를 이용한 createdAt, @UpdateDateColumn
를 이용한 updatedAt를 전역적으로 확장할 수 있도록 CoreEntity class를 만듭니다.
CoreEntity를 User class에 확장한 후 app.module.ts
에서 UsersModule과 CommonModule를 import 해주고 TypeOrmModule.forRoot.entitites
에서 User class를 추가해줍니다.
users.service.ts
파일을 만들고 UsersService class를 생성합니다.
users.resolver.ts
파일을 만들고 UsersResolver class를 생성합니다.
users.module.ts
파일에서 imports, providers 해줍니다.