dpc/importer

Laravel 包,用于从其他数据库导入数据

v1.0.0 2017-04-18 14:47 UTC

This package is not auto-updated.

Last update: 2024-09-20 22:18:00 UTC


README

Total Downloads Latest Stable Version License

Laravel Importer

需求

  • PHP 7
  • Laravel 5.6

为什么?

此包允许您从本地数据库导入数据。

默认情况下,整个播种过程通过事务运行

如何?

安装

使用 composer 安装此包

composer require dpc/importer

在您的配置文件(config/app.php)中安装服务提供者

'providers' => [
    ....
    Dpc\Importer\Providers\ImporterServiceProvider::class,
];

通过运行以下命令发布供应商文件

php artisan vendor:publish

这将创建一个位于配置目录中的 importer.php 配置文件

初始化

请确保您已经为您的临时数据库(您要从其中导入数据的数据库)创建了一个新的数据库连接,并且它包含所需的数据。

您需要在配置文件中设置连接名称以及种子的数组。该数组将确定种子的运行顺序。

配置文件的一个示例

return [
    'connection' => 'temp',

    'seeds' => [
        \App\Seeds\UserSeeder::class,
        \App\Seeds\PostSeeder::class,
    ]
];

创建种子器

创建一个扩展 Dpc\Importer\AbstractSeed 的自己的 Seeder 类。

Seeder 类应实现以下两个方法

getData():此函数负责将数据从数据库中提取到种子器中。此函数不返回数据,但返回一个种子器的实例。数据可在 $this->data 中找到

seed():数据加载到类属性后,将调用此函数。在此处定义您的播种过程。

prepareData():这是一个可选函数,在播种数据之前调用。可以用来

连接被注入到种子中,因此您可以使用 $this->manager->table(<tableName>) 访问临时数据库中的数据。

整个播种操作都在事务中包装。

运行种子

要运行种子

php artisan importer:import

最后...

请星标此存储库。这对作者(等等,是我:P)意义重大

接下来是什么?

  • 数据分块
  • 灵活队列种子器
  • 使用 cron 作业运行选项

想贡献吗?

对标准不挑剔,只需提交一个 PR 即可。

如果您发现任何问题或想提出未来建议,请在此创建一个问题。

想联系我吗?