rigosv / audit-bundle
symfony2 和 doctrine ORM 的审计包,记录任何数据库更改(源自 data-dog/audit-bundle)
v0.1.9
2017-09-28 05:00 UTC
Requires
- php: >=5.4.0
- doctrine/orm: ^2.4
- symfony/framework-bundle: ^2.6|^3.0
Requires (Dev)
- php: >=5.6.0
- ext-pdo: *
- ext-pdo_sqlite: *
- data-dog/pager-bundle: ^0.2
- doctrine/doctrine-bundle: ^1.6
- doctrine/doctrine-fixtures-bundle: ^2.2
- doctrine/orm: ^2.5
- knplabs/knp-menu-bundle: ^2.0
- knplabs/knp-time-bundle: ^1.3
- phpunit/phpunit: ~4.7.0
- sensio/framework-extra-bundle: ^3.0.2
- symfony/symfony: ^3.0
README
此包为所有 doctrine ORM 数据库相关更改创建审计日志
- 包括插入和更新及其差异和关系字段差异。
- 多对多关系更改,关联和解关联操作。
- 如果存在用户在令牌存储中,则将其链接到日志。
- 审计条目在 flush 期间插入到同一事务中,如果出现问题,状态保持干净。
基本上,您可以跟踪通过标准 ORM 操作管理的任何更改。
注意:审计无法跟踪 DQL 或直接 SQL 更新或删除语句的执行。
安装
首先,使用 composer 安装它
composer require data-dog/audit-bundle
然后,在您的 AppKernel 包中添加它。
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
...
new DataDog\AuditBundle\DataDogAuditBundle(),
...
);
...
}
最后,创建由该包使用的数据库表
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
屏幕截图
许可
审计包可免费使用,并按照 MIT 许可证 许可。