Saludos.
Estoy trabajando con symfony 2.8.
Si alguien a hecho un registro de versiones de los registros tablas de la bd.
Cuando un usuario modifica o elimine un tupla/atributo de una tabla quede un registro.
Alguien podria darme una idea de donde comenzar a tratar este asunto.
Gracias por sus respuestas y comentarios futuros.
Respuestas
Hola:
Si te he entendido bien, es que quieres guardar la entidad, el valor antiguo y el nuevo ¿No? Pues yo crearía un servicio al cual le paso por parámetros, la entidad antes de editarla y la de después (Para hacer esto, simplemente puedes clonar el objeto y listo) y en el servicio con get_class obtienes el nombre del objeto y luego comparas valor por valor cuales son diferentes y los salvas en una nueva tabla.
Facil, sencillo y para toda la familia.
@TsubasaAkai
Hola @dariongg,
Puedes comenzar con la extension loggable del paquete StofDoctrineExtensionsBundle, una vez lo instalas en solo 3 pasos tienes un log sencillo de las acciones de una entidad.
-
Configuras la extensión en config.yml
orm: mappings: gedmo_loggable: type: annotation prefix: Gedmo\Loggable\Entity dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Loggable/Entity" alias: GedmoLoggable # (optional) it will default to the name set for the mappingmapping is_bundle: false
-
Activas la extensión en el mismo config.yml
stof_doctrine_extensions: default_locale: "%locale%" orm: default: loggable: true
- Adicionas la extensión en la tabla que quieras hacer el log
namespace AppBundle\Entity; use Doctrine\ORM\Mapping as ORM; use Gedmo\Mapping\Annotation as Gedmo; /** * AppBundle\Entity\Product * * @ORM\Table(name="tb_main_product") * @Gedmo\Loggable */ class Product {
Y eso es todo, espero sea de ayuda.
@miguelplazasr
Existe un bundle para eso: https://github.com/simplethings/EntityAudit
@ramiroanacona