PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Symfony3 enregistre chaque mise à jour dans la base de données

Tout d'abord, vous n'avez pas besoin d'implémenter vous-même ce roi de la logique. Doctrine suit les insertions d'entités, les mises à jour, les modifications et les suppressions de champs en interne, et crée les événements correspondants que vous pouvez écouter. Par exemple, lorsque vous créez un nouveau Info l'entité et la persiste, Doctrine enverra prePersist événement lorsque vous appelez flush opération. Vous pouvez créer un abonné à l'événement pour vous abonner à de tels événements et y faire votre logique.

Pour bien comprendre les événements du cycle de vie de Doctrine, consultez la documentation officielle de Doctrine :http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/events.html

Création d'abonnés aux événements décrite dans la documentation Symfony :http ://symfony.com/doc/current/doctrine/event_listeners_subscribers.html#creating-the-subscriber-class

Vous pouvez également essayer le bundle tiers existant qui enregistrera les insertions, les mises à jour et les suppressions d'entités :https://github .com/simplethings/EntityAuditBundle Il prend également en charge la gestion des versions.