npm i bcrypt
를 설치해 준다.
src 디렉토리에서 entity 디렉토리를 생성하고 User.ts 파일을 생성하고 아래와 같이 입력해준다.
import {Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, OneToMany, Index, BeforeInsert} from "typeorm";
import bcrypt from "bcrypt";
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Index({ unique: true })
@Column()
email: string;
@Column()
password: string;
//before insert
@BeforeInsert()
async saveEncryptedPassword() {
this.password = await bcrypt.hash(this.password, 5);
}
@CreateDateColumn({
name: "created_at"
})
createdAt: Date;
@UpdateDateColumn({
name: "updated_at"
})
updatedAt: Date;
}
위와 같이 작성을 하고 서버를 실행하면 디비에 user 테이블이 생긴것을 확인 할 수 있다.