데이터베이스 응용 프로그램을 위해 재활용 빈을 어떻게 만들 수 있습니까?

StackOverflow https://stackoverflow.com/questions/1361525

문제

데이터베이스 애플리케이션이 있는데, 사용자가 데이터베이스에서 삭제 된 레코드를 복원 할 수있게하고 싶습니다. Windows에서는 같은 작업을 수행하려는 파일에 대한 재활용 빈이 있지만 데이터베이스 레코드에 대해 관련 테이블이 많다고 가정합니다. 필드가 많습니다.

편집하다:

다음 구조가 있다고 가정 해 봅시다.

보고서 테이블

  • repname 기본 키
  • 보고서 데이터

사용자 테이블

  • ID 기본 키
  • 이름

사용자 보고서 테이블

  • repname 기본 키
  • userID 기본 키
  • isdeleted

이제 isdeleted 필드를 사용자 보고서 테이블에 넣으면 삭제 된 것으로 표시된 경우 사용자가 다시 레코드를 추가 할 수 없습니다. 레코드가 이미 있고 이로 인해 복제가 발생하기 때문입니다.

도움이 되었습니까?

해결책

참고 : 나는 항상 대리 기본 키를 사용합니다.

타임 스탬프 'deleted_at'열을 추가하십시오. 사용자가 항목을 삭제하면 현재 시간을 넣습니다. 이 핵심 부분을 제약 조건으로 만드십시오.

모든 쿼리에서 deleted_at 필드에 null이있는 레코드 만 검색해야합니다.

일부 프레임 워크 (ActiveRecord와 같은)는해야 할 일이 아닙니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top