목적
- ManyToMany 관계로 이어진 Account 와 Driving Keyword mapping / unmapping 의 기록들을 남기고 싶었음
상황
- 그러나 Account - DrivingKeyword 자체는 Update 가 되지 않음, JoinTable 이 Update 될 뿐
- 그래서 JoinTable 에 접근하려 했으나, JoinTable Entity 가 Code Level 로 구현되지 않아
@OnUpdate
와 같은 Event Listener 를 사용할 수 없었음.
- 혹시나 하는 마음에 JoinTable decorator 에 넣을 수 있는 interface 인 JoinTableOptions 를 d.ts 에서 확인해보았으나, event listener, event subscriber 를 넣을 순 없었음
JoinTableOptions
interface from d.ts
(펼쳐보기)
- 실재하는 Entity / Table 에서 벌어지는 Event 에 접근하기 위해선
AccountToDrivingKeyword.entitys.ts
와 같이 두 Entity 의 JoinTable Entity 를 Code Level 로 구현해야 함
일단 구현해보기
- 위의 상황에서 내가 시도한 건 좀 더 우아한 방법이었다. 현재 상황은 우아한 방법을 최우선으로 몰두하는 게 아니라, history log 를 만들어내는 게 목표이기에, 일단은 구현부터 하고 기능개선을 하는게 맞을 상황이라고 판단했다.
- 쿼리 호출을 좀 더 하더라도, POST 로 갈아치워지기 전에 기존에 설정했던 driving keyword 를 history table 에
eventType: add
같은 식으로 delete 한다
- 그리고,
Error: Incorrect table definition; there can be only one auto column and it must be defined as a key