Aller au contenu principal
Version: Canary 🚧

💉 Seeding

Introduction

Le seeding est un mécanisme qui vous permettra d'hydrater votre base de donnée pour pouvoir l'utiliser dans votre développement. Le seeding dans Bow est associé à une table lors de la création.

Ajouter un seeder

Pour ajouter un seeder, on passe par php bow avec la commande add:seeder ensuite le nom de la table.

php bow add:seeder pets

Un fichier pets_seeder.php sera créé dans le dossier seeders. En voici le contenu :

/**
* The pets seeder
*
* @see https://github.com/fzaninotto/Faker for all documentation
*/
$faker = \Faker\Factory::create();

$seeds['pets'] = [];

foreach (range(1, 5) as $key) {
$seeds['pets'][] = [
'name' => $faker->name,
'created_at' => date('Y-m-d H:i:s'),
'updated_at' => date('Y-m-d H:i:s'),
];
}

return $seeds;

La clé pets est le nom de la table du seeding.

Lancer le seeding

Pour lancer le seeding, on utilise la commande seed:table suivie du nom de la table.

php bow seed:table pets

Vous avez la possibilité de lancer tous les seeding avec la commande seed:all. Cela fera le seeding de tous les fichiers dans seeders.

php bow seed:all

Helper

Souvent, vous sera tenté de faire des seeding lorsque vous testez votre application. Le helper db_seed, très pratique vous permettra de faire des seeding en plein test par exemple

db_seed("user", $overrides = ["name" => "Franck"]);

Avec $overrides vous pouvez modifier des valeurs du seeding.

Il manque quelque chose ?

Si vous rencontrez des problèmes avec la documentation ou si vous avez des suggestions pour améliorer la documentation ou le projet en général, veuillez déposer une issue pour nous, ou envoyer un tweet mentionnant le compte Twitter @bowframework ou sur directement sur le github.