piyook/csvseeder

将数据从.csv文件中种入Laravel数据库表

v1.0.1 2022-05-13 08:29 UTC

This package is auto-updated.

Last update: 2024-09-13 14:03:31 UTC


README


CSV数据库种子工具服务

一个简单的Laravel工具包,用于将CSV数据种入数据库表。
探索文档

目录

  1. 关于项目
  2. 入门
  3. 使用
  4. 联系


关于项目


一个简单的Laravel工具,允许使用CSV格式的文件数据快速填充数据库。

一个自定义Artisan make:命令构建CSV种子类,然后从存储在数据库/data文件夹中的CSV文件中导入数据。

构建工具

  • Laravel 9

入门


可以将代码添加到新的Laravel安装或现有项目中。

先决条件

Laravel 8+

安装


使用composer安装包

    composer require --dev piyook/csvseeder

使用


开发了一个自定义Artisan make命令,以便更容易地搭建 Seeder Class 以导入CSV文件。

CSV数据文件必须与表名相同,并存储在数据库/data文件夹中。

要使用Artisan命令,只需输入

 php artisan make:csvseeder <name> <columns> <path> (optional)

其中要种子的表名作为make命令的参数传递,并附带一个列名数组[]。
注意,如果表名是复数,则类名将使用单数形式。

如果要将种子类存储在除database/seeders以外的其他位置,则可以指定此新路径作为最后一个选项。

例如,一个名为"examples"的表的新种子类将导入存储在数据库/data中的"examples.csv"文件,将保存到数据库/seeders目录中,文件名为"ExampleCSV.php"。


  php artisan make:csvseeder examples [col1,col2,col3,col4]

然后

php artisan migrate:fresh

php artisan db:seed --class=ExampleCSV

在运行包含--seed选项的迁移作为迁移的一部分进行通用数据库种子的之前,不要忘记在种子文件夹中的DatabaseSeeder类中注册新的CSV种子

测试


通常使用Ochestra Testbench在包中运行单元测试和功能测试,但种子功能无法工作(未找到种子类)。

设置了一个完整的单独的Laravel测试项目,并将测试、phpunit.xml以及包测试文件夹中的数据库/data、database/migration文件夹和文件复制到项目中的相关位置,以设置测试环境。

所有功能测试都可通过Artisan test命令运行。

联系


电子邮件:piyook@piyook.com

项目链接:[laravelcsvseed]