strongbond/db-watcher
此软件包最新版本(1.0.1)没有可用的许可证信息。
使用这个工具,我们可以记录在表级别发生的所有更改。
1.0.1
2022-07-30 05:37 UTC
README
PHP 软件包,用于跟踪您表上发生的修改。
##注意:此功能基于触发器。因此,即使是直接通过某些IDE在表上进行的修改也会被跟踪。
步骤 0:php artisan vendor:publish
// This step will put the config file [dbwatcher.php] in the config folder.
Below is the content in config file
return [
"db_name" => env("DB_DATABASE"),
"tables_to_track" => [
["table" => "supplier_master", "column" => ["supplier_name","qnty"], "track_event" => ["insert", "update","delete]],
// table name for which tracking is required, can't be left blank
// column key if empty will track all columns
// track_event is an array of events to track if empty will track all events
],
"log_table_name" => 'sb_log',
"common_columns_to_ignore" => ["created_at", "updated_at", "deleted_at"]
];
步骤 1:创建一个新对象
$db_tracker_obj = new DBWatcher();
步骤 2:生成跟踪表 | 完成后可以跳过此步骤 | 创建了2个表
$db_tracker_obj->drop_recreate_log_tables();
步骤 3:生成跟踪触发器 | 在 dbwatcher.php 配置文件中进行任何更改后,需要再次运行此步骤以反映新更改。
$db_tracker_obj->refreshTracker();
步骤 4:为将要修改数据库的用户设置 user_id。如果您错过此步骤,将使用 root@localhost。
$db_tracker_obj->action_performed_by_user(5);
步骤 5:执行 CRUD 操作。
DB::table("venues")->insert([
"venue_name" => "Carnival",
"venue_location" => "Mumbai",
"created_at" => Carbon::now()->toDateTimeString(),
"updated_at" => Carbon::now()->toDateTimeString()
]);
步骤 6:在 CRUD 操作后取消设置 user_id。
$db_tracker_obj->unset_action_performed_by_user();