작성
·
41
·
수정됨
1
먼저 재미있게 강의 잘보고 있습니다. 감사합니다.
프로젝트에서 storage 모듈을 보다가 모든 entity가 status를 갖는다는 것을 알게되었습니다.
class xxEntity():BaseEntity()
// base entity가 status를 갖고 있고
// 위의 코드는 상속이라고 알고있습니다(AI로 확인해봤는데 만약 아니라면 민망할것같네요...)
모든 entity가 상태가 필요한가? 하는 생각이 들어서요. 아니면 status를 기본으로 설정하면서 어떤 장점을 의도하려고 하신건지 궁금합니다.
답변 1
0
비비비비빅님 강의 재밌게 봐주시고 질문 주셔서 감사합니다!
AI로 분석에 적극 쓰시다니 아주 좋은 모습입니다! (코드 형태는 설명주신게 맞습니다)
기본값으로 넣은 이유는 대부분 서비스 운영시 예기치 못하게 데이터의 상태를 처리해야 할 경우가 있습니다,
서비스 운영 및 데이터 추적을 위해 일반적으로 Hard Delete(Delete 쿼리)가 불가능하기 때문에 대부분 데이터는 status 기반으로 삭제 플래그 처리(Soft Delete)를 하는 편입니다!
그래서 제 경우는 엄청 유의미하게 쓰이지 않더라도 상태에 대한 것을 특별한 사유가 있지 않는 테이블을 제외하고는 모두 추가해두는 편입니다!
또한 더 장기적인 관점에선 추후 데이터 마이그레이션이나 운영 이슈 처리 시에도 이 상태 컬럼들을 유용하게 쓰일 수 있습니다 (지금 적당한 예제가 생각이 안나네요ㅎㅎ;)
다만! 누가봐도 정말 상태가 필요 없는 테이블이라면 BaseEntity 를 안 쓰고 id나 시간 정보를직접 구성하던가, 그런 Entity 가 많다면 NoneStatusEntity 같은 클래스를 만들어서 사용하기도 합니다 :)
모쪼록 답변이 도움 되셨길 바라며 완강까지 잘 부탁드리고 수강평도 부탁드립니다!
추가 질문은 편하게 주시길 바랍니다! 감사합니다!