현재 다음과 같이 추적 / 기록 테이블을 구성하고 싶습니다.
- 기본 키-ID
- OtherTableId-fk
- fieldName-추적하는 필드 이름
- OldValue
- NewValue
- 사용자 이름
- CreateDateTime
기본적으로 다른 테이블 기록을 추적하고 변경된 필드의 열 이름을 새 값과 이전 값으로 저장하는 테이블을 만들고 싶습니다. 내 질문은 누구나 이것에 구멍을 뚫을 수 있습니까? 또한 추적하는 테이블의 열 이름 만 fieldName 열에 입력되도록하는 가장 쉬운 방법은 무엇입니까? 현재 내 옵션은 내가 구축중인 서비스에 열거 형을 두거나 다른 상태 테이블을 만들고 fieldName을 fk로 만드는 것입니다. 더 좋은 아이디어가 있습니까?
목표 수정 : 현재 추적해야 할 필드는 2 개뿐입니다. 한 필드는 웹 페이지에 표시되어 기록을 표시하고 다른 필드는 한 부서에서만 액세스하며 쿼리 할 수있는 데이터베이스보기에 액세스 할 수 있습니다. 누가이 필드를 쿼리하여 누가 필드를 변경했는지와 무엇을 변경해야하는지에 대한 정보를 얻었습니다. 이것이 테이블 레코드 히스토리의 정확한 사본이 아닌 데이터베이스 필드가 테이블 열을 정의하는 위치를 설정하려는 이유입니다. 앞으로 필드를 추가하거나 제거 할 수있는 가능성을 추적하는 두 개의 필드 만 원합니다.
감사!