typeorm cascade옵션

코드깎는 노인·2020년 11월 6일
4
@Entity()
class Book extends BaseEntity {
    @ManyToOne(() => Author, (author) => author.books, {
        onDelete: 'CASCADE',
    })
    public author?: Author
}

@Entity()
class Author extends BaseEntity {
    @OneToMany(() => Book, (book) => book.author, {
        cascade: true,
    })
    public books: Book[];
}

onDelete:'CASCADE' 옵션을 주면 Author가 삭제될시 관련된 Book도 같이 삭제됨

const author = await Author.findOne({ id: '123' });
author.books.push(new Book(...));
await author.save();

cascade:true옵션은 author에 책이 추가되고 author가 저장될때 book또한 반드시 db에 저장된다.cascade:true옵션이 없을시 위의 코드에서 책은 db에 저장되지 않을것이다.

profile
내가 볼려고 만든 블로그

1개의 댓글

comment-user-thumbnail
2023년 1월 24일

정말 감사합니다!

답글 달기