platx / yii2-data-log
Logs for table changes in Yii2
Installs: 197
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 2
Forks: 4
Open Issues: 0
Type:yii2-extension
Requires
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2020-10-16 21:13:35 UTC
README
Логирование изменений в базе с возможностью последующего отката на предыдущее состояние.
Установка
Лучший способ установить - через composer.
Запустить
php composer.phar require --prefer-dist platx/yii2-data-logger "*"
либо добавить
"platx/yii2-data-logger": "*"
в секцию require в файле composer.json
Вашего приложения.
Использование
После установки нужно создать и накатить миграцию на создание таблицы для логов:
class m151123_135616_create_table_data_log extends \platx\datalog\DataLogMigration{}
Дальше нужно подключить поведение к моделям, которые могут учавствовать в логировании:
public function behaviors() { return [ 'data-log' => [ 'class' => 'platx\datalog\DataLogBehavior', 'apps' => ['app-backend', 'app-frontend'], ] ... ]; }
где apps
- массив с ID разрешенных приложений, которые будут логироваться, по умолчанию - app-backend
.
Логирование настроено. Дополнительным функционалом является откат изменений на предыдущее состояние, для этого можно воспользоваться следующими екшенами в нужном контроллере:
public function actions() { return [ 'index' => [ 'class' => 'platx\datalog\actions\IndexAction', 'viewFile' => 'index', 'pageSize' => 20 ], 'view' => [ 'class' => 'platx\datalog\actions\ViewAction', 'viewFile' => 'view' ], 'rollback' => [ 'class' => 'platx\datalog\actions\RollbackAction', 'redirectUrl' => ['index'] ], 'delete' => [ 'class' => 'platx\datalog\actions\DeleteAction', 'redirectUrl' => ['index'] ], ]; }
где viewFile
- представление, куда выводить данные. pageSize
- количество записей на
страницу, redirectUrl
- куда перенаправлять.
IndexAction в представление передает $dataProvider, ViewAction - $model.