Necesito configurar una función de historial en un proyecto para realizar un seguimiento de los cambios anteriores.
Digamos que tengo dos tablas en este momento:
NOTES TABLE (id, userid, submissionid, message)
SUBMISSIONS TABLE (id, name, userid, filepath)
Ejemplo: tengo una fila en las notas y el usuario quiere cambiar el mensaje. Quiero hacer un seguimiento de su estado antes del cambio y después del cambio.
¿Cuál sería el mejor enfoque para configurar una columna en cada una de estas tablas que dirá si un elemento es "viejo"? 0 si está activo O 1 si está eliminado / invisible.
También quiero crear una AUDIT TRAIL
tabla history ( ) que contenga la id
del estado anterior, la id
del nuevo estado, ¿con qué tabla se relacionan estos id?
mysql
database-design
audit
Schwarz
fuente
fuente
Respuestas:
Por favor ver
http://www.codeproject.com/Articles/105768/Audit-Trail-Tracing-Data-Changes-in-Database
Es una muy buena lectura sobre los enfoques para crear un Audit Trail en el diseño de su base de datos. Las pistas de auditoría son necesarias para la implementación de una base de datos. Siempre debe poder ver las acciones de los usuarios de la base de datos dentro del sistema.
Podemos realizar un seguimiento de las filas que se modificaron en nuestro sistema PTA (punto en el tiempo) agregando algunas columnas estándar PTA (punto en el tiempo) a todas las tablas de interés de la PTA.
Sugiero lo siguiente:
fuente
Al diseñar capacidades de control de versiones en sus datos, hay varios requisitos mínimos (creo):
Aquí están las diapositivas de una presentación que hice varias veces en ferias tecnológicas. Cubre cómo se puede hacer todo lo anterior. Y aquí hay un documento que entra en más detalles. Debo pedir disculpas por el documento: es un trabajo en progreso y no todas las secciones están completas. Pero debería darle toda la información necesaria para implementar cualquier cosa, desde versiones simples hasta acceso bi-temporal completo.
fuente
This means no flag or other indicator showing which is the current version and which are "history."
, si no hay indicador o indicador, ¿cómo diferenciamos la versión actual de la versión del historial? Sobre todo en función de su tercer punto, que sugiere que deberían estar en la misma tabla.