Closed Leonardo-Lucas-DEVOPS closed 3 months ago
Tenho três tabelas: employee
, freelancer
e vehicle
, cada uma com seus respectivos atributos. Fiz um CRUD para cada uma delas com suas regras específicas.
No entanto, o update pode trazer problemas, pois se trata de pedidos de consulta de dados cobrados separadamente. Então, quero criar uma nova tabela chamada audit
para registrar as mudanças feitas nos registros das três tabelas.
Tabela Audit:
id
id_consultor
old_values
(armazenar valores antigos)new_values
(armazenar valores novos)changed_at
(data e hora da alteração)table_name
(nome da tabela onde a alteração ocorreu)record_id
(ID do registro alterado)Create:
nome: Leo, idade: 20, cpf: 48877087854
Update:
nome: Leo, idade: 21, cpf: 48877087854
Registro original:
nome: Leo, idade: 21, cpf: 48877087854, consultor: user 1, create_at: 30/07
Registros na Tabela Audit:
nome: Leo, idade: 20, cpf: 48877087854, consultor: user 0, changed_at: 25/07
nome: Leo, idade: 20, cpf: 48877087854, consultor: user 3, changed_at: 20/07
A tabela audit
possui os seguintes campos:
nome
idade
cpf
id_consultor
create_at
status_return
(status da operação)changed_by
(quem alterou)changed_at
(quando alterou)table_name
(nome da tabela original)record_id
(ID do registro original)old_values
(valores antigos)new_values
(valores novos)reason
para armazenar o motivo da alteração.operation_type
para especificar o tipo de operação (CREATE, UPDATE, DELETE).user_ip
para armazenar o IP do usuário que realizou a alteração.Isso ajudará a manter um histórico detalhado das alterações e garantir a rastreabilidade das mudanças nos registros das tabelas employee
, freelancer
e vehicle
.