Nestjs - User model
nest g mo users
로 모듈을 생성합니다.
이전에 연습삼아 만들고 있었던 레스토랑 모듈은 빼주도록 하겠습니다.
entities 에서도 빼줄게요
imports 에 UsersModule 이 잘 추가되었습니다.
users 폴더 안에 entities 폴더를 만들고 user.entity.ts
파일을 만들게요
user.entity.ts
는 database 모델을 정의하기 위한 ts 파일입니다. TypeOrmModule 의 syncronize 값을 True 로 바꿔주면 user.entity.ts
에서 정의한 Column 들을 그대로 데이터베이스에 반영합니다.
user.entity.ts
import { Column, Entity } from 'typeorm';
type UserRole = 'client' | 'owner' | 'deliver';
@Entity()
export class User {
@Column()
email: string;
@Column()
password: string;
@Column()
role: UserRole;
}
role 에서 유저는 client 또는 owner 또는 deliver 가 될수 있어서 type 을 UserRole 이라는 타입을 새롭게 만들었습니다.
User Model:
id
createdAt
updatedAt
email
password
role(cliend | owner | delivery)
user model 에서는 다음과 같이 정의할 것인데 id 부터 updatedAt 까지는 다른 table에서도 동일하게 적용될 column 이라서 user class 에서 정의하지 않겠습니다.
이걸 위해서 common 이라는 모듈을 만들게요
nest g mo common
common 모듈은 기본적으로 공유되는 모든것을 적용할 예정입니다.
즉 App 에서 공유되는 모든 것들은 commonModule로 갈거에요
common 폴더 안에 entities 폴더를 만들고 core.entity.ts 파일을 만듭니다.
core.entity.ts
import { PrimaryGeneratedColumn } from 'typeorm';
export class CoreEntity {
@PrimaryGeneratedColumn()
id: number;
@CreateDateColumn()
createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
}
user.entity.ts
import { CoreEntity } from 'src/common/entities/core.entity';
import { Column, Entity } from 'typeorm';
type UserRole = 'client' | 'owner' | 'deliver';
@Entity()
export class User extends CoreEntity {
@Column()
email: string;
@Column()
password: string;
@Column()
role: UserRole;
}
CoreEntity 라는 클래스로 기본 뼈대를 잡고 User class 에서 상속 받습니다.
entities 에 User를 추가한뒤 서버를 실행 시킵니다.
User table 이 잘 생성되었네요 ㅎ
'Side > uber-eats' 카테고리의 다른 글
라이브러리 없이 만드는 JWT - 1 (0) | 2021.06.06 |
---|---|
Nestjs , Typeorm 에서 Hasing passwords (0) | 2021.06.05 |
Nestjs - Typeorm Repository 사용하기 (0) | 2021.05.31 |
TypeORM setup 과 Nestjs Config (0) | 2021.05.23 |
NestJs Validating ArgsTypes (0) | 2021.05.23 |
댓글
이 글 공유하기
다른 글
-
라이브러리 없이 만드는 JWT - 1
라이브러리 없이 만드는 JWT - 1
2021.06.06 -
Nestjs , Typeorm 에서 Hasing passwords
Nestjs , Typeorm 에서 Hasing passwords
2021.06.05 -
Nestjs - Typeorm Repository 사용하기
Nestjs - Typeorm Repository 사용하기
2021.05.31 -
TypeORM setup 과 Nestjs Config
TypeORM setup 과 Nestjs Config
2021.05.23