2017 © Pedro Peláez
 

library csv-seeder

Allows seeding of the database with CSV files and extract clear unit from string

image

hilioski/csv-seeder

Allows seeding of the database with CSV files and extract clear unit from string

  • Wednesday, May 4, 2016
  • by hilioski
  • Repository
  • 1 Watchers
  • 0 Stars
  • 759 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 42 Forks
  • 0 Open issues
  • 9 Versions
  • 39 % Grown

The README.md

CSV Seeder

Seed your database with CSV files

This package allows CSV based seeds., (*1)

Installation

Require this package in your composer.json and run composer update (or run composer require hilioski/csv-seeder directly):, (*2)

"hilioski/csv-seeder": "1.0.*"

Usage

Your CSV's header row should match the DB columns you wish to import. IE to import id and name columns, your CSV should look like:, (*3)

id,name
1,Foo
2,Bar

Seed classes must extend Flynsarmy\CsvSeeder\CsvSeeder, they must define the destination database table and CSV file path, and finally they must call parent::run() like so:, (*4)

use Flynsarmy\CsvSeeder\CsvSeeder;

class StopsTableSeeder extends CsvSeeder {

    public function __construct()
    {
        $this->table = 'your_table';
        $this->filename = base_path().'/database/seeds/csvs/your_csv.csv';
    }

    public function run()
    {
        // Recommended when importing larger CSVs
        DB::disableQueryLog();

        // Uncomment the below to wipe the table clean before populating
        DB::table($this->table)->truncate();

        parent::run();
    }
}

Drop your CSV into /database/seeds/csvs/your_csv.csv or whatever path you specify in your constructor above., (*5)

Configuration

In addition to setting the database table and CSV filename, two other configuration options are available. They can be set in your class constructor:, (*6)

  • insert_chunk_size (int 500) An SQL insert statement will trigger every insert_chunk_size number of rows while reading the CSV
  • csv_delimiter (string ,) The CSV field delimiter.
  • hashable (string password) Hash the hashable field, useful if you are importing users and need their passwords hashed. Uses Hash::make(). Note: This is EXTREMELY SLOW. If you have a lot of rows in your CSV your import will take quite a long time.
  • offset_rows (int 0) How many rows at the start of the CSV to ignore. Warning: If used, you probably want to set a mapping as your header row in the CSV will be skipped.
  • mapping (array []) Associative array of csvCol => dbCol. See examples section for details. If not specified, the first row (after offset) of the CSV will be used as the mapping.

Examples

CSV with pipe delimited values:, (*7)

public function __construct()
{
    $this->table = 'users';
    $this->csv_delimiter = '|';
    $this->filename = base_path().'/database/seeds/csvs/your_csv.csv';
}

Specifying which CSV columns to import:, (*8)

public function __construct()
{
    $this->table = 'users';
    $this->csv_delimiter = '|';
    $this->filename = base_path().'/database/seeds/csvs/your_csv.csv';
    $this->mapping = [
        0 => 'first_name',
        1 => 'last_name',
        5 => 'age',
    ];
}

Skipping the CSV header row (Note: A mapping is required if this is done):, (*9)

public function __construct()
{
    $this->table = 'users';
    $this->csv_delimiter = '|';
    $this->filename = base_path().'/database/seeds/csvs/your_csv.csv';
    $this->offset_rows = 1;
    $this->mapping = [
        0 => 'first_name',
        1 => 'last_name',
        2 => 'password',
    ];
}

Get clean unit from string between two character (Note: $first_character and $last_character must be set):, (*10)

public function __construct()
{
    $this->table = 'users';
    $this->csv_delimiter = '|';
    $this->filename = base_path().'/database/seeds/csvs/your_csv.csv';
    $this->offset_rows = 1;
    $this->mapping = [
        0 => 'first_name',
        1 => 'last_name',
        2 => 'password',
    ];
    $this->first_character = '"';
    $this->last_character = '"';
    // ex. "Test text" => Test text
}

License

CsvSeeder is open-sourced software licensed under the MIT license, (*11)

The Versions

04/05 2016

dev-master

9999999-dev

Allows seeding of the database with CSV files and extract clear unit from string

  Sources   Download

MIT

The Requires

 

by Hristian Ilisoki

laravel csv seed seeding seeds

04/05 2016

v1.0.7

1.0.7.0

Allows seeding of the database with CSV files and extract clear unit from string

  Sources   Download

MIT

The Requires

 

by Hristian Ilisoki

laravel csv seed seeding seeds

04/09 2015

v1.0.6

1.0.6.0

Allows seeding of the database with CSV files

  Sources   Download

MIT

The Requires

 

laravel csv seed seeding seeds

20/06 2015

v1.0.5

1.0.5.0

Allows seeding of the database with CSV files

  Sources   Download

MIT

The Requires

 

laravel csv seed seeding seeds

28/05 2015

v1.0.4

1.0.4.0

Allows seeding of the database with CSV files

  Sources   Download

MIT

The Requires

 

laravel csv seed seeding seeds

01/07 2014

v1.0.3

1.0.3.0

Allows seeding of the database with CSV files

  Sources   Download

MIT

The Requires

 

laravel csv seed seeding seeds

13/02 2014

v1.0.2

1.0.2.0

Allows seeding of the database with CSV files

  Sources   Download

MIT

The Requires

 

laravel csv seed seeding seeds

13/02 2014

v1.0.1

1.0.1.0

Allows seeding of the database with CSV files

  Sources   Download

MIT

The Requires

 

laravel csv seed seeding seeds

13/02 2014

v1.0

1.0.0.0

Allows seeding of the database with CSV files

  Sources   Download

MIT

The Requires

 

laravel csv seed seeding seeds