📍 Intro
- 더미 데이터를 어떻게 만드냐도 문제인데 연관관계까지 생각해서 저장을 해야하는데...
- 생성해야하는 테이블의 순서 user -> brand , category -> product -> order, restock_notification
1. user 테이블
- user_id : 랜덤값 ❌, 1부터 증가
- emial : 이메일 관련 랜덤값 => fake.ascii_free_email(), fake.free_email() 차이는?!
- password : 랜덤값 ❌, 1234를 암호화
- role : USER, ADMIN 랜덤인데 USER이 비중이 더 많이
2. brand 테이블
- brand_id : 랜덤값 ❌, 1부터 증가
- name : 브랜드명 관련 랜덤값
- user_id : 랜덤값 ❌, user 테이블에 있는 id 값 + role이 Admin인 경우!
3. category 테이블
- category_id : 랜덤값 ❌, 1부터 증가
- category : 랜덤값 ❌
- parent_cateogry : 랜덤값 ❌, category 테이블에서 상위 category에 해당하는 ID값 + 최상위 category일 때는 null값
👉🏻 결론적으로, category테이블은 미리 카테고리를 정해서 테이블을 생성하고 생성된 category의 id값을 랜덤하게 product 테이블에 배정해야겠다.
ex)
{
"id" : 1
"category" : "상의",
"parent_cateogry" : null
}
{
"id" : 2
"category" : "반팔 티셔츠",
"parent_cateogry" : 1
}
...
4. product 테이블
- product_id : 랜덤값 ❌, 1부터 증가
- brand_id : 랜덤값 ❌, 브랜드 테이블에 있는 id 값
- name : 옷 관련 랜덤값
- thumbnail : 저작권 없는 이미지 주소 더미 데이터
- category_id : 랜덤값 ❌, 카테고리 테이블에 있는 id 값
- price : 1000원부터 10,000,000원까지 랜덤 값(단, 100원 단위 ex, 92,010원 ❌ 92,100원 ⭕)
- amount : 0개 ~ 999개 랜덤값
- review_num : 0개 ~ 50,000개 랜덤값
- review_avg : 0점 ~ 5점(0.1단위) 랜덤값
5. order 테이블
- order_id : 랜덤값 ❌, 1부터 증가
- user_id : 랜덤값 ❌, user 테이블에 있는 id 값
- product_id : 랜덤값 ❌, product 테이블에 있는 id 값
- amount : 0개 ~ 10개 랜덤값
- totalPrice : 랜덤값 ❌, product_id의 price의 값 * amount 값!
- createdAt : LocalDateTime 랜덤값 => fake.iso8601()
6. restock_notification 테이블
- restock_id : 랜덤값 ❌, 1부터 증가
- user_id : 랜덤값 ❌, user 테이블에 있는 id 값
- product_id : 랜덤값 ❌, product 테이블에 있는 id 값
- alarm_flag : 랜덤값 ⭕, product_id의 amount값이 0일 경우에서 False, True 랜덤값