To setup basic app data or seeding start by creating a seeder:
php artisan make:seeder RolesTableSeeder
It will generate database/seeder/RolesTableSeeder.php
, open that file then insert your initial roles, here is the example:
use Illuminate\Database\Seeder;
class RolesTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('roles')->truncate();
$roles = [
[
'id' => 1,
'name' => 'Administrator',
'slug' => 'admin',
'created_at' => \Carbon\Carbon::now(),
'updated_at' => \Carbon\Carbon::now(),
],
[
'id' => 2,
'name' => 'Moderator',
'slug' => 'moderator',
'created_at' => \Carbon\Carbon::now(),
'updated_at' => \Carbon\Carbon::now(),
],
];
DB::table('roles')->insert($roles);
}
}
Then register the seeder on DatabaseSeeder
class:
public function run()
{
...
$this->call(RolesTableSeeder::class);
}
Finally run php artisan db:seed
, do the same for other tables.
If you want to inserting fake data such as fake users for testing purpose use model factories.