19.12.13 01:04 작성
·
110
0
게시글 작성시 코드가 아래와 같은데요.
1. const newPost = await db.Post.create({ ~~~ // 게시글 등록
2.const result = await Promise.all(hashtags.map(tag => db.Hashtag.findOrCreate({ ~~ 해쉬태그 등록
3. await newPost.addHashtags(result.map(r => r[0])); // 조인 테이블 등록
인데요.
그렇다면 이 항목들에 대해서 트랜잭션을 사용하려면 어떻게 사용해야 하나요..?
1,2 번에 경우,
이렇게 넣어주고, 추가로 transaction: t
를 넣어주면 될 것 같은데
3번 Associations로 부터 생기는 add 함수에 transaction 을
넣어줄 수가 있나요..?
공식 홈페이지 에서는 쉽게 찾을 수가 없는 것 같아서요..ㅠ
3번을 바깥으로 빼자니.. 트랜잭션을 사용하는 의도가 살짝 빗나가면서도, 3번이 newPost, result 얘녜들을 사용해야해서 지저분한 방법을 사용해야 할 것 같고,,
어떻게 트랜잭션을 사용하시나요..?
위에서 const newPost = 게시글 등록, const result = 해쉬태그 등록
이부분들을 트랜잭션 감싼 부분 위에서 var newPost = null; var result = null; 로 하여
newPost = 게시글 등록, result = 해쉬태그 등록 후에 트랜잭션 작업이 모두 처리된 후, 3번 처리하는 것이 올바른 방법일까요~~?