추가 기능을 사용할 수 있는 몇 가지 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 해줍니다.
