개발지식/Laravel
Laravel seeder 데이터 생성
kimty1121
2024. 2. 8. 00:51
Laravel의 seeder 데이터 작성에 대해 알아본다.
seeder 데이터란 더미 데이터를 의미한다.
먼저 php artisan make:seeder 명령어로 파일을 생성한다.
예를 들어
php artisan make:seeder AdminSeeder
php artisan make:seeder OwnerSeeder
database/seeders/ 폴더에 생성된다.
그다음 각 파일에 정보를 입력한다.
database/seeders/AdminSeeder.php
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
public function run()
{
DB::table('admins')->insert([
'name' => 'test',
'email' => 'test@test.com',
'password' => Hash::make('password123'),
'created_at' => '2024/02/02 11:11:11'
]);
}
database/seeders/OwnerSeeder.php
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
public function run()
{
DB::table('owners')->insert([
[
'name' => 'test1',
'email' => 'test1@test.com',
'password' => Hash::make('password123'),
'created_at' => '2024/02/02 11:11:11'
],
[
'name' => 'test2',
'email' => 'test2@test.com',
'password' => Hash::make('password123'),
'created_at' => '2024/02/02 11:11:11'
],
[
'name' => 'test3',
'email' => 'test3@test.com',
'password' => Hash::make('password123'),
'created_at' => '2024/02/02 11:11:11'
]
]);
}
그 후에 database/seeders/DatabaseSeeder.php 파일에 등록해 줘야 한다.
public function run()
{
$this->call([
AdminSeeder::class,
OwnerSeeder::class,
]);
}
그 다음 명령어로 seeder 데이터를 실행한다.
아래의 명령어중 상황에 맞춰 실행한다.
일반적인 실행
php artisan db:seed
down()을 실행후 up()을 실행
php artisan migrate:fresh --seed
모든 테이블 삭제후 up()을 실행
php artisan migrate:refresh --seed