cgarcia/audit-bundle

symfony2和doctrine ORM的审计包,记录任何数据库更改

v0.1.5 2016-06-10 06:22 UTC

This package is not auto-updated.

Last update: 2024-09-23 13:59:49 UTC


README

此包为所有doctrine ORM数据库相关更改创建审计日志

  • 包括插入和更新以及它们的差异和关联字段差异。
  • 多对多关系更改,关联和解除关联操作。
  • 如果token存储中有用户,它将将其链接到日志。
  • 审计条目在flush期间插入到同一事务中,如果出现问题,状态保持清洁。

基本上,您可以跟踪通过标准ORM操作管理的任何更改。

注意:审计无法跟踪DQL或直接SQL更新或删除语句的执行。

安装

首先,使用composer安装它

composer require cgarcia/audit-bundle

然后,在您的AppKernel bundles中添加它。

// app/AppKernel.php
public function registerBundles()
{
    $bundles = array(
        ...
        new DataDog\AuditBundle\DataDogAuditBundle(),
        ...
    );
    ...
}

最后,创建由该包使用的数据库表

使用Doctrine Migrations Bundle

php app/console doctrine:migrations:diff
php app/console doctrine:migrations:migrate

使用Doctrine Schema

php app/console doctrine:schema:update --force

演示

查看功能的最快方式是查看实际演示。只需克隆该包并运行

make

访问https://:8000/audit查看日志操作。

演示应用程序源代码位于example目录中,它是一个基本的symfony应用程序。

用法

audit实体将在运行模式更新或类似操作时自动映射。此后,所有数据库更改都将反映在审计日志中。

未审计的实体

有时,您可能不想为特定实体创建审计日志条目。您可以通过在config.yml中的unaudired_entities配置键下列出这些实体来实现,例如

data_dog_audit:
    unaudited_entities:
        - AppBundle\Entity\NoAuditForThis

屏幕截图

所有分页的审计日志:Screenshot

单击特定资源的引用历史记录:Screenshot

显示插入数据:Screenshot

许可证

审计包是免费使用的,并受MIT许可证的许可。