[laravel] 데이터베이스 시딩
2022. 1. 17. 10:46ㆍLaravel
시딩이란
라라벨은 시더클래스를 통해서 데이터베이스에 더미 데이터를 넣을수 있는 기능을 제공한다.
1. 시더클래스
아티즌 명령어를 통해 시더를 생성한다. 생성된 클래스는 database/seeds에 생성 된다.
php artisan make:seeder UsersTableSeeder
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
class UsersTableSeeder extends Seeder
{
public function run()
{
DB::table('users')->insert([
'name' => Str::random(10),
'email' => Str::random(10).'@gmail.com',
'password' => bcrypt('password'),
]);
}
}
이제 시더를 실행하게되면 데이터베이스에 내용이 입력이 될 것이다.
php artisan db:seed --class=UsersTableSeeder
–class 옵션을 붙여주기 귀찮다면 DatabaseSeeder 에 시더를 등록해준다.
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
$this->call(UsersTableSeeder::class);
}
}
php artisan db:seed 실행해보면 데이터가 잘 들어가는 것을 확인할 수 있다.
마이그레이션에 –seed 옵션을 사용하면 편리하다.
php artisan migrate:refresh --seed
'Laravel' 카테고리의 다른 글
[Laravel] log 파일 주기적으로 삭제하기 (0) | 2022.11.15 |
---|---|
[Laravel] Syntax error or access violation: 1055 에러 (0) | 2022.02.07 |
[laravel] sanctum (API 인증) 구축 (0) | 2022.01.04 |
[laravel] application Key 생성 (0) | 2022.01.04 |
[Laravel] 라라벨 설치하기 (0) | 2021.11.16 |