sql >> データベース >  >> RDS >> PostgreSQL

Symfony3はすべての更新をデータベースに保存します

    まず第一に、このロジックの王様を自分で実装する必要はありません。 Doctrineは、エンティティの挿入、更新、フィールドの変更と削除を内部で追跡し、聞くことができる対応するイベントを作成します。たとえば、新しいInfoを作成するとき エンティティを永続化すると、DoctrineはprePersistをディスパッチします flushを呼び出したときのイベント 手術。イベントサブスクライバーを作成して、そのようなイベントをサブスクライブし、そこでロジックを実行できます。

    Doctrineのライフサイクルイベントを完全に理解するには、公式のDoctrineドキュメントを確認してください: http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/events.html

    Symfonyのドキュメントで説明されているイベントサブスクライバーの作成: http: //symfony.com/doc/current/doctrine/event_listeners_subscribers.html#creating-the-subscriber-class

    また、エンティティの挿入、更新、削除をログに記録する既存のサードパーティバンドルを試すこともできます: https:// github .com / simplethings / EntityAuditBundle また、バージョン管理もサポートしています。




    1. MySQLのネストされたリソース(ピボットテーブル)の表示/更新/管理の権限

    2. データベース構造のリビジョン管理をどのように維持しますか?

    3. データベース内の複数のテーブルの監査履歴

    4. count(*)列のmin()を取得する