sql >> Databasteknik >  >> RDS >> PostgreSQL

Symfony3 sparar varje uppdatering i databasen

Först och främst behöver du inte implementera denna kung av logik själv. Doctrine spårar entitetsinfogningar, uppdateringar, fältändringar och borttagningar internt och skapar motsvarande händelser som du kan lyssna på. Till exempel när du skapar ny Info enhet och behåller den, kommer Doctrine att skicka prePersist händelse när du anropar flush drift. Du kan skapa en händelseprenumerant för att prenumerera på sådana händelser och göra din logik där.

För att till fullo förstå doktrinens livscykelhändelser, kolla in den officiella doktrindokumentationen:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/events.html

Skapande av händelseprenumeranter beskrivs i Symfony-dokumentationen:http://symfony.com/doc/current/doctrine/event_listeners_subscribers.html#creating-the-subscriber-class

Du kan också prova befintliga tredjepartspaket som loggar infogningar, uppdateringar och raderingar av enheter:https://github .com/simplethings/EntityAuditBundle Den stöder även versionshantering.




  1. MySql på radera kaskadkoncept?

  2. Varför och när ska jag använda SPARSE COLUMN? (SQL SERVER 2008)

  3. Kapslad tabell primär och främmande nyckel i Oracle

  4. Alternativet stöds inte till mysql_options()