나는 언두 - 다시 실행을 허용하기 위해 DB 테이블을 설계하는 방법을 알아 내려고하고있다. 실행 취소 - 다시 실행으로 SQL DB를 설계하는 방법은 무엇입니까?
당신이 작업을 다음과 같은 구조 테이블이 척 :id <int>
title <varchar>
memo <string>
date_added <datetime>
date_due <datetime>
지금 가정을 그 몇 가지 편집이 일어난 며칠 여러 로그 인 이상; 사용자는 버전 중 하나로 돌아가고 싶어합니다.
- 는 변경 사항을 추적 별도의 테이블이겠습니까 - 나 - 당신은 (더 나은 용어의 부족 "유령"행)에 작업 테이블에서 변경 내용을 유지하려고 것인가?
- 모든 열 또는 매번 변경된 열만 추적 하시겠습니까?
중요한 경우 MySQL을 사용하고 있습니다. 또한, 중요한면, 나는 역사 (ala Photoshop)를 보여주고 사용자가 어떤 버전으로 전환 할 수 있도록하고 싶습니다.
보너스 질문 : 전체 memo
세포를 변경 사항에 저장 하시겠습니까? 아니면 델타 만 저장 하시겠습니까? 이유는 memo
셀이 커질 수 있으며 각 단어가 하나의 단어 또는 문자로 변경 될 수 있기 때문입니다. 델타를 저장하는 것은 파싱을 요구하지만, 언두가 자주 발생하지 않는다면, 처리 시간보다는 공간을 절약하는 것이 더 좋지 않을까요?
도움 주셔서 감사합니다.
비슷한 질문이 여기에 있습니다. 보십시오 [내 대답] (http://stackoverflow.com/questions/5408828/are-there-problems-with-this-soft-delete-solution-using-eav-tables/5410359#5410359) – Ronnis