| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- 라라벨 팩토리
- laravel seeder
- artisan migrate
- 객체
- laravel migrate 오류
- 자바스크립트 객체 만들기
- Docker
- 자바스크립트
- laravel migration
- 자바스크립트 객체
- 핵심만 골라 배우는 SwiftUI 기반의 iOS 프로그래밍
- 기획자랑 사이좋게 지내고 싶다
- laravel sail
- Laravel
- laravel 공부
- 객체지향
- 라라벨 파커
- php artisan
- laravel faker
- 생활코딩
- 배열 분해 할당
- 라라벨 시더
- 제이펍 출판
- 황반석 옮김
- 닐 스미스 지음
- laravel docker
- laravel factory
- 자바스크립트 배열 할당
- mysql
- php laravel
Archives
- Today
- Total
반응형
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- 라라벨 팩토리
- laravel seeder
- artisan migrate
- 객체
- laravel migrate 오류
- 자바스크립트 객체 만들기
- Docker
- 자바스크립트
- laravel migration
- 자바스크립트 객체
- 핵심만 골라 배우는 SwiftUI 기반의 iOS 프로그래밍
- 기획자랑 사이좋게 지내고 싶다
- laravel sail
- Laravel
- laravel 공부
- 객체지향
- 라라벨 파커
- php artisan
- laravel faker
- 생활코딩
- 배열 분해 할당
- 라라벨 시더
- 제이펍 출판
- 황반석 옮김
- 닐 스미스 지음
- laravel docker
- laravel factory
- 자바스크립트 배열 할당
- mysql
- php laravel
Archives
- Today
- Total
java,javascript,android,php,sql,공부용,메모용
라라벨10 - Laravel Seeder & Faker 정리 본문
반응형

Laravel Seeder & Faker 정리
📌 1. Seeder란 무엇인가?
Seeder는 데이터베이스에 테스트용 데이터를 자동으로 넣어주는 기능입니다.
✔ 왜 사용할까?
- 테스트용 데이터 빠르게 생성
- 반복 작업 자동화
- 개발 중 더미 데이터 필요할 때 사용
** Faker는 현재 seeder에서 사용이 불가능합니다. Factory에서 Faker 사용 가능. 이전 버전처럼 seeder에서 Faker를 사용하는 방법을 작성했습니다. 이후 Factory에서 사용하는 방법 공부하고 티스토리에 작성하고 이전게시글 링크 아래에..
📌 2. Seeder 생성 방법
php artisan make:seeder AuthorsTableSeeder
생성 위치:
database/seeders/AuthorsTableSeeder.php
📌 3. 기본 Seeder 작성
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class AuthorsTableSeeder extends Seeder
{
public function run(): void
{
for ($i = 1; $i <= 10; $i++) {
DB::table('authors')->insert([
'name' => 'author'.$i,
'created_at' => now(),
'updated_at' => now(),
]);
}
}
}
📌 4. Seeder 실행 방법
sail artisan db:seed
특정 Seeder만 실행:
sail artisan db:seed --class=AuthorsTableSeeder
📌 5. 실행 결과
idname
| 1 | author1 |
| 2 | author2 |
| ... | ... |
| 10 | author10 |
📌 6. Faker란?
Faker는 가짜 데이터를 만들어주는 라이브러리입니다.
✔ 왜 사용할까?
- 랜덤 데이터 생성
- 실제처럼 보이는 테스트 데이터 생성
- 반복 데이터 대신 다양한 값 생성
📌 7. 예전 Laravel vs 현재 Laravel 차이
구분설명
| 예전 Laravel | Seeder에서도 $faker 바로 사용 가능 |
| 현재 Laravel | Seeder에서는 Faker 자동 제공 ❌ |
| 현재 권장 방식 | Factory에서 Faker 사용 |
📌 8. Seeder에서 Faker 사용하는 방법
현재는 직접 생성해야 사용 가능합니다.
✔ 코드
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Faker\Factory as Faker;
class AuthorsTableSeeder extends Seeder
{
public function run(): void
{
$faker = Faker::create();
for ($i = 1; $i <= 10; $i++) {
DB::table('authors')->insert([
'name' => $faker->name,
'created_at' => now(),
'updated_at' => now(),
]);
}
}
}
📌 9. Faker 사용 결과
idname
| 1 | John Doe |
| 2 | Jane Smith |
| ... | ... |
👉 실행할 때마다 다른 값 생성됨
📌 10. Faker에서 자주 사용하는 데이터
종류코드설명
| 이름 | $faker->name | 사람 이름 |
| 이메일 | $faker->email | 이메일 |
| 주소 | $faker->address | 주소 |
| 전화번호 | $faker->phoneNumber | 전화번호 |
| 문장 | $faker->sentence | 랜덤 문장 |
| 텍스트 | $faker->text | 긴 텍스트 |
| 숫자 | $faker->randomNumber() | 랜덤 숫자 |
| 날짜 | $faker->date() | 랜덤 날짜 |
📌 11. 데이터 초기화 방법 (중요)
Seeder는 실행할 때마다 데이터가 계속 추가됩니다.
✔ 방법 1. 전체 DB 초기화 (가장 많이 사용)
sail artisan migrate:fresh --seed
👉 모든 테이블 삭제 → 다시 생성 → seed 실행
✔ 방법 2. 특정 테이블만 초기화
use Illuminate\Support\Facades\DB;
DB::table('authors')->truncate();
👉 해당 테이블 데이터만 삭제 (id도 1부터 다시 시작)
✔ 방법 3. 데이터만 추가 (초기화 없음)
sail artisan db:seed
👉 기존 데이터 유지 + 뒤에 계속 추가
📌 12. 핵심 정리
- Seeder = DB에 데이터 넣는 도구
- Faker = 가짜 데이터 생성기
- 현재 Laravel에서는
- Seeder → Faker 자동 제공 ❌
- 직접 생성해야 사용 가능
- 실제 개발에서는 Factory + Faker 조합 사용
📌 13. 다음 단계
👉 Faker는 원래 Factory에서 사용하는 것이 표준
다음 단계:
php artisan make:factory AuthorFactory
🚀 한 줄 요약
Seeder는 데이터 넣는 도구, Faker는 데이터 만드는 도구
현재는 Faker를 Factory에서 사용하는 것이 기본이다
반응형
'개발 > php' 카테고리의 다른 글
| 라라벨11 - Laravel Factory, Farker 사용방법 (0) | 2026.03.19 |
|---|---|
| 라라벨9 - 마이그레이션 정리 (0) | 2026.03.18 |
| 라라벨8 - Laravel Sail에서 php artisan migrate 오류 해결 방법 (mysql 연결 실패) (0) | 2026.03.18 |
| 라라벨7 - 서비스 컨테이너, 바인드와 리졸브 (0) | 2025.10.15 |
| 라라벨 6 - 라이프 사이클 정리, 엔트리포인트 (HTTP요청 기준 내용) (0) | 2025.10.15 |
Comments