dpc / importer
Laravel 包,用于从其他数据库导入数据
v1.0.0
2017-04-18 14:47 UTC
Requires
- php: ^7.0
- illuminate/support: 5.4.*
This package is not auto-updated.
Last update: 2024-09-20 22:18:00 UTC
README
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 即可。
如果您发现任何问题或想提出未来建议,请在此创建一个问题。
想联系我吗?
- Twitter: @DPC_22
- Email: dylan.dpc@gmail.com