yii2-db-seeder Yii2 database seeder

  1. Installation
  2. Quick start
  3. Differences from original library
  4. Resources

Have your database populated with fake data in no time!

  • Very easy to use!
  • Use time-tested fzaninotto/faker generators
  • Easily map generators to database columns
  • Supports related data
  • Two ways of seeding a table: generators or plain array
  • Ability to use your own generators
  • Friendly autocomplete in modern IDE's (tested in phpstorm)

This "extension" is basically an adapter to the main framework-agnostic php database seeder library.

Installation

The preferred way to install this extension is through composer.

Either run

composer require tebazil/yii2-db-seeder

or add

"tebazil/yii2-db-seeder": "*"

to the require section of your composer.json file.

Quick start

You can quickly seed your database with generated data with something like this:

$seeder = new \tebazil\yii2seeder\Seeder();
$generator = $seeder->getGeneratorConfigurator();
$faker = $generator->getFakerConfigurator();

$seeder->table('article')->columns([
    'id', //automatic pk
    'book_id', //automatic fk
    'name'=>$faker->firstName,
    'content'=>$faker->text
        ])->rowQuantity(30);


$seeder->table('book')->columns([
    'id',
    'name'=>$faker->text(20),
])->rowQuantity(30);

$seeder->table('category')->columns([
    'id',
    'book_id',
    'name'=>$faker->text(20),
    'type'=>$faker->randomElement(['shop','cv','test']),
])->rowQuantity(30);

$seeder->refill();

Please review the Php db seeder for extended documentation on usage.

Differences from original library

  • With Yii2 Db Seeder you do not need to provide database configuration by default, it uses Yii::$app->db to retrieve connection information. You can optionally provide seeder with a database connection component name. You do that like:
$seeder = new \tebazil\yii2seeder\Seeder('db2');

There. Seeder would be using Yii::$app->db2 now.

  • You can use standart yii wildcards for prefixed table names, like {{%table_name}}.

  • yii\db\Migration is used as a database abstraction layer instead of a native database helper. This basically means that you can work with all the databases Yii2 supports.

Resources

2 0
3 followers
0 downloads
Yii Version: 2.0
License: BSD-2-Clause
Category: Database
Developed by: tebazil
Created on: Oct 11, 2015
Last updated: 9 years ago

Related Extensions