Yii 1.1: yii1-db-seeder

Yii1 database seeder
1 follower

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/yii1-db-seeder

or add

"tebazil/yii1-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\yii1seeder\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 Yii1 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\yii1seeder\Seeder('db2');

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

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

  • 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 Yii1 supports.

Resources

Be the first person to leave a comment

Please to leave your comment.

Create extension
Downloads
No downloadable files yet