[데이터베이스]Seed - gyunam-bark/nb02-how-do-i-look-team1 GitHub Wiki

Seed 데이터 명세서

1. 목적

  • 본 Seed 데이터는 개발/테스트 환경에서 스타일, 태그, 이미지, 큐레이션, 답글 등 기본 데이터를 자동으로 채워주기 위해 작성되었습니다.

  • 개발 단계에서 프론트엔드/백엔드 연동 테스트, API QA, 화면 샘플 출력을 위해 활용합니다.

2. Seed 데이터 적용 방법

- 파일위치:

prisma/seed.js

- 실행 방법

npx prisma db seed

- 초기화

npx prisma migrate reset --force

3. 데이터 구조 및 예시

3.1 태그(Tag)

- 용도: 스타일 분류 및 검색 필터링

- 생성 데이터: 총 10개

name
캐주얼
스트릿
미니멀
포멀
빈티지
스포티
러블리
여름
겨울
컬러풀

3.2 이미지(Image)

- 용도: 스타일에 연결되는 이미지 데이터

- 생성 데이터: 10개

- URL 예시

    - https://storage.googleapis.com/nb02-how-do-i-look-storage.firebasestorage.app/images/__style_1750146858645.png?GoogleAccessId=firebase-adminsdk-fbsvc%40nb02-how-do-i-look-storage.iam.gserviceaccount.com&Expires=16730323200&Signature=stnPIB9XI98sgh4vqrG6hRj10ubtrmapoVUQPScSa1lNBx3VsI0LrujekCXG6as4fDjUpp%2BbnNwETbxMDFw7U0SQQJd7jn6GElR1r6NQHD38B8m1JDMwxZOIBHoc66UNb1U94LpDmBc5WyuJBPAd4tGx9aDU5uva8grXSTNHiSg9LQzLoIezW%2FBZNXOHNAVHx%2FqbWnCm4stixhekjPmbXJhQcg5%2F0XWfE8VLoXDHDqvrVoZSQOV2O15JF37D8m%2BQyoFxh7Q9XhFRWmg22R2aw3vDkq99TMdLY%2FSoxI2MiAqFLzVQnfl5arEV2Dn0WjBHWtSHJjcI9Qw7cN8PW6AMeA%3D%3D'

    - ... (style10까지)

3.3 스타일(Style)

- 용도: 실제 스타일 게시글 데이터

- 생성 데이터: 총 10개 (각기 다른 nickname, title, 카테고리, 태그, 이미지 매핑)

nickname title content password 대표 카테고리 주요 태그 이미지
1 혜원 여름 미니멀룩 린넨 셔츠와 와이드 슬랙스 password1234 TOP, BOTTOM, SHOES 미니멀, 여름 1
2 승관 빈티지 데님 스타일 오버사이즈 청자켓 password1234 OUTER, BOTTOM 빈티지, 캐주얼 2
3 우재 포멀 오피스룩 블레이저와 슬랙스 password1234 TOP, BOTTOM, SHOES 포멀 3
4 미주 컬러풀 썸머룩 형광 핑크탑, 옐로우 스커트 password1234 TOP, BOTTOM 컬러풀, 여름, 러블리 4
5 보검 스트릿 무드 후드집업, 카고팬츠, 볼캡 password1234 TOP, BOTTOM, ACCESSORY 스트릿, 캐주얼 5
6 미현 러블리 원피스룩 플라워 패턴 원피스 password1234 DRESS, SHOES 러블리, 여름 6
7 영지 겨울 코트 스타일 로브코트, 니트, 부츠 password1234 OUTER, TOP, SHOES 겨울, 포멀 7
8 민규 스포티 트레이닝룩 트랙탑, 트레이닝팬츠, 스니커즈 password1234 TOP, BOTTOM, SHOES 스포티, 캐주얼 8
9 혜윤 모던 가방 포인트룩 블라우스, 컬러백 password1234 TOP, BAG 미니멀, 컬러풀 9
10 재욱 남친룩의 정석 셔츠, 슬랙스, 더비슈즈 password1234 TOP, BOTTOM, SHOES 포멀, 캐주얼 10

카테고리 종류:

- TOP, BOTTOM, SHOES, OUTER, ACCESSORY, DRESS, BAG

- 가격: BigInt 사용, 실제 값은 19,000 ~ 179,000원 등 다양

3.4 큐레이션(Curation)

- 용도: 각 스타일별 리뷰 데이터

- 생성 데이터: 스타일별로 1~2개씩, 총 11개

style nickname content password trendy personality practicality costEffectiveness
1 리뷰어A 여름에 정말 잘 어울리는 룩이네요! password1234 5 4 5 4
1 리뷰어B 미니멀하지만 포인트가 살아있어요 password1234 4 5 4 5
2 리뷰어C 청자켓 찢어진 데님 조합 최고! password1234 3 5 4 3
... ... ... ... ... ... ... ...

3.5 답글(Comment)

- 용도: 등록된 스타일에 대한 큐레이션 리뷰 데이터

- 생성 데이터: 큐레이션별로 1~2개씩, 총 11개

curation content password
1 덥지만 단정하면서 시원해 보이게 신경썼어요 password1234
1 시원함과 편안함을 동시에 챙겨봤어요 password1234
2 청청패션 좀 과감하죠? 한번 도전해보세요! password1234
... ... ...

4. 기타/주의 사항

  • 실행 시 기존 데이터 모두 삭제 후 새로 생성함. → 운영 환경에서는 절대 실행 금지!

  • 민감정보(비밀번호)는 샘플값으로만 사용 (실서비스 적용 X)

  • prisma schema에 맞게 카테고리, 태그, 이미지 연결이 매핑

5. Seed 데이터 확장/수정 안내

  • 스타일, 태그, 이미지, 큐레이션, 답글 데이터 추가/수정 시, 위 표와 seed.js 모두 함께 갱신 필요

  • 실제 운영 환경 적용 전에는 반드시 개발 DB에서 테스트 권장

참고: seed.js 주요 코드 흐름

  1. 기존 데이터 전체 삭제

  2. 태그, 이미지 미리 생성 (upsert/insert)

  3. 스타일 10건 생성 (카테고리/태그/이미지 연결 포함)

  4. 각 스타일별 큐레이션(리뷰) 1~2건씩 생성

  5. 각 큐레이션(리뷰)별 답글 1~2건씩 생성