drewlabs / changelog
声明用于处理数据库表属性变更的类和契约的库
v0.1.0
2024-03-01 19:43 UTC
This package is auto-updated.
Last update: 2024-09-30 21:20:08 UTC
README
该表更改日志库提供了应用数据库中表行更改的抽象实现。它应该用于跟踪SQL数据库中的列更改并将日志集中存储在项目定义的存储中。
用法
该库提供简单的API来注册和记录项目中的更改。要注册一个用于记录更改的驱动程序
<?php // ... use Drewlabs\Changelog\Logger; // ... // At the root of your application or when your application bootstraps Logger::getInstance()->registerDriver(new MyLogger); // or using a factory function Logger::getInstance()->registerDriver(function() { return MyLogger }, 'myLog');
注意 Logger
是一个单例实例,它在应用程序中全局注册日志记录器,如果不希望共享状态,则应谨慎使用。
在全局处理器中注册您的日志记录器后,您可以通过调用全局日志记录器的 logChange
方法来记录任何表更改
// In some part of the code where we need to log table column changes Logger::getInstance()->logChange('table_name', 'model_key', 'property_name', 'old_value', 'current_value', 'logged_by');
注意 查看与laravel eloquent库兼容的驱动程序实现以及与 php-amqplib/php-amqplib
兼容的消息队列实现。