ventrec / laravel-entity-sync
同步项目间的实体
1.0.0
2017-10-29 18:57 UTC
Requires
- guzzlehttp/guzzle: ^6.2
Requires (Dev)
- orchestra/testbench: ^3.5
- phpunit/phpunit: ^6.4
README
当发生变化时,轻松同步实体到另一个项目。
简介
此包旨在从一个laravel项目同步实体到另一个项目,这对于您有主从设置时非常有用。
要使此功能正常工作,您需要在希望同步实体的laravel项目中安装客户端包。
安装
composer require ventrec/laravel-entity-sync
- 将
Ventrec\LaravelEntitySync\LaravelEntitySyncProvider::class
添加到 app.php 中的 providers - 发布配置文件
php artisan vendor:publish --provider="Ventrec\LaravelEntitySync\LaravelEntitySyncProvider"
- 更新配置文件
- 将您希望监控变化的实体添加到配置文件中。
- 输入请求应发送到的端点的完整URL。
- 输入用于验证请求的API令牌。
用法
在某些情况下,您可能有一个模型上的属性,您不希望同步。为此,您可以定义一个名为 ignoreSyncAttributes
的方法,该方法返回一个包含您不希望同步的属性名称的数组。
示例
在一个用户模型中,您可能想排除密码
public function ignoreSyncAttributes() { return ['password']; }
防止在播种时运行观察者
为了防止观察者在播种时运行,您必须在运行时禁用该包。
在您的 DatabaseSeeder
类中,在 run()
方法的顶部添加以下行
config(['laravelEntitySync.enabled' => false]);
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。