krowek/audit-bundle

为symfony2和doctrine ORM提供的审计包,记录任何数据库变更

安装: 13

依赖者: 0

建议者: 0

安全性: 0

星星: 0

关注者: 2

分支: 63

类型:symfony-bundle

v0.1.8 2017-10-17 06:14 UTC

This package is not auto-updated.

Last update: 2024-09-29 03:26:58 UTC


README

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

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

基本上,您可以跟踪这些日志条目中的任何变更,如果它们通过标准 ORM 操作管理。

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

安装

首先,使用composer安装它

composer require data-dog/audit-bundle

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

// 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 中的 unaudited_entities 配置键下列出这些实体来实现此目的,例如

data_dog_audit:
    unaudited_entities:
        - AppBundle\Entity\NoAuditForThis

指定审计实体

有时,也有可能只想为特定实体创建审计日志条目。您可以通过与未审计实体类似的方式实现这一点。您可以在 config.yml 中的 audited_entities 配置键下列出它们,例如

data_dog_audit:
    audited_entities:
        - AppBundle\Entity\AuditForThis

您可以指定审计或未审计实体。如果两者都指定,则仅考虑审计实体。

屏幕截图

所有分页审计日志: Screenshot

点击特定资源的历史引用: Screenshot

显示插入数据: Screenshot

许可证

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