Database Model Seeder
Menambahkan user_id ke table blog_posts
1. Menambahkan migration php artisan make:migration add_user_to_blog_posts_table
2. Buka file database/migrations/xxxx_xx_xx_xxxxxx_add_user_to_blog_posts_table.php, kemudian tambahkan code dibawah ini
4. Setelah migration, maka column user_id akan menjadi NULL, silahkan isi dengan nilai ada di table users
2. Untuk me-refresh database, jalankan command dibawah ini php artisan migrate:refresh
3. Untuk mengisi kembali data-data tersebut kita akan menggunakan fitur seeder dari laravel. Untuk menjalankan fitur tersebut cukup dengan menjalankan command dibawah ini. php artisan db:seed
Basic Database SeederMenggunakan Model Factory Untuk Database Seeder
1. Menggunakan model factory untuk melakukan seeding table users. Buka file database/seeders/DatabaseSeeder.php, ubah menjadi seperti ini. Line 28-29.
2. Jalankan command refresh-seeder php artisan migrate:refresh --seed
3. Lihat di table users, akan ada 6 rows yang sudah terinput
4. Data pada rows 2-6, dibuat berdasarkan pada file UserFactory (database/factories/UserFactory.php). Secara default code pada line 29, akan memanggil function definition() pada file database/factories/UserFactory.php.
5. Kita bisa membuat custom function, dalam hal ini disebut dengan istilah state. Untuk membuat UserFactory state, kita bisa menambahkan fungsi baru.
6. Buka file database/factories/UserFactory.php dan tambahkan code dibawah ini. Line 34 - 48.
8. Jalankan command refresh-seeder php artisan migrate:refresh --seed
Model Factory Untuk BlogPost
1. Buat BlogPost model factory dengan menjalankan command di bawah ini. Code di bawah ini akan membuat file database/factories/BlogPostFactory.php. php artisan make:factory BlogPostFactory
2. Buka file database/factories/BlogPostFactory.php dan tambahkan code di bawah ini. Line 25 - 27.
4. Ketika menjalankan command refresh-seeder, maka akan muncul error seperti dibawah ini. php artisan migrate:refresh --seed