#56 Creare scripturi database seeder pentru generare de date aleatoare și relevante
state: closed opened by: adrianharabula on: 5/7/2017
Because generatorul curent e făcut ca la n00bi!
Pentru generare de chestii aleatoare folosim de exemplu:
DB::table('users')->insert([
'name' => str_random(10),
'email' => str_random(10).'@gmail.com',
'password' => bcrypt('secret'),
]);
Dacă vrem să aibă și un sens, atunci folosim faker:
$factory->define(App\User::class, function (Faker\Generator $faker) {
static $password;
return [
'name' => $faker->name,
'email' => $faker->unique()->safeEmail,
'password' => $password ?: $password = bcrypt('secret'),
'remember_token' => str_random(10),
];
});
Numele, emailurile generate nu numai că vor fi aleatoare dar vor avea și sens.
Documentația pentru toată chestia asta este aici https://laravel.com/docs/5.4/seeding
Comments
from: adrianharabula on: 5/11/2017
Avem următoarele:
- [x] UsersTableSeeder
- [x] CondrGroupsTableSeeder
- [x] CategoriesTableSeeder
- [x] CondrgroupUserTableSeeder
- [x] CompaniesTableSeeder
- [ ] ProductsTableSeeder
- [ ] ProductUserTableSeeder
- [ ] CharacteristicsTableSeeder
- [ ] CharacterizableTableSeeder
from: adrianharabula on: 5/11/2017
Adițional avem nevoie și de niște factories pentru următoarele:
- [x] UserFactory
- [ ] ProductFactory
- [x] CompanyFactory
- [ ] CharacteristicFactory
- [ ] CharacterizableFactory
from: adrianharabula on: 5/11/2017
Studiu de caz, care e diferența între clasa seeder și clasa factory https://laracasts.com/discuss/channels/laravel/what-is-the-difference-between-model-factory-and-a-db-seeder
from: adrianharabula on: 6/6/2017
partial abandonat, pentru ca folosim #149