ventrec/laravel-entity-sync

同步项目间的实体

1.0.0 2017-10-29 18:57 UTC

This package is not auto-updated.

Last update: 2024-09-15 02:28:14 UTC


README

Latest Version on Packagist Software License Build Status Total Downloads

当发生变化时,轻松同步实体到另一个项目。

简介

此包旨在从一个laravel项目同步实体到另一个项目,这对于您有主从设置时非常有用。

要使此功能正常工作,您需要在希望同步实体的laravel项目中安装客户端包

安装

  1. composer require ventrec/laravel-entity-sync
  2. Ventrec\LaravelEntitySync\LaravelEntitySyncProvider::class 添加到 app.php 中的 providers
  3. 发布配置文件 php artisan vendor:publish --provider="Ventrec\LaravelEntitySync\LaravelEntitySyncProvider"
  4. 更新配置文件
    • 将您希望监控变化的实体添加到配置文件中。
    • 输入请求应发送到的端点的完整URL。
    • 输入用于验证请求的API令牌。

用法

在某些情况下,您可能有一个模型上的属性,您不希望同步。为此,您可以定义一个名为 ignoreSyncAttributes 的方法,该方法返回一个包含您不希望同步的属性名称的数组。

示例

在一个用户模型中,您可能想排除密码

public function ignoreSyncAttributes()
{
    return ['password'];
}

防止在播种时运行观察者

为了防止观察者在播种时运行,您必须在运行时禁用该包。

在您的 DatabaseSeeder 类中,在 run() 方法的顶部添加以下行

config(['laravelEntitySync.enabled' => false]);

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。