PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Symfony3 salva ogni aggiornamento nel database

Prima di tutto non è necessario implementare da soli questo re della logica. Doctrine tiene traccia degli inserimenti di entità, degli aggiornamenti, delle modifiche ai campi e delle eliminazioni internamente e crea eventi corrispondenti che puoi ascoltare. Ad esempio, quando crei una nuova Info entità e persiste, Doctrine invierà prePersist evento quando chiami flush operazione. Puoi creare un abbonato all'evento per iscriverti a tali eventi e fare la tua logica lì.

Per comprendere appieno gli eventi del ciclo di vita di Doctrine, consulta la documentazione ufficiale della dottrina:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/events.html

Creazione dell'iscritto all'evento descritta nella documentazione di Symfony:http://symfony.com/doc/current/doctrine/event_listeners_subscribers.html#creating-the-subscriber-class

Inoltre puoi provare il bundle di terze parti esistente che registrerà inserimenti, aggiornamenti ed eliminazioni di entità:https://github .com/simplethings/EntityAuditBundle Supporta anche il controllo delle versioni.