강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

do wang님의 프로필 이미지
do wang

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

시퀄라이즈 관계 설정하기

sequelize에서 mysql 배열 관련 질문입니다.

작성

·

638

0

db는 알 것 같으면서도 어렵네요 ㅠㅠ

 

어떤 상품에 대해서 

1.프론트에서 상품 등록시에 제가 넣고 싶은 사이즈들

ex ) ['x', 'm', 'l']

을 옵션으로 보내기

2.size를 ['x', 'm', 'l'] 배열을 mysql에 저장하기

3.프론트로 db에서의 사이즈의 배열을 가져오기

4.가져온 size 배열 중에서 하나를 선택해서 백엔드로 보내서 db에 저장하기

이런 식으로 구상 해보았습니다.

 

그런데 sequelize에서는 mysql? 에는 배열로 저장할 수가 없다는 것 같은 문서를 보았습니다.

https://sequelize.org/master/class/lib/data-types.js~ARRAY.html

 

질문을 요약하자면

sequelize 모델설정에서 size 컬럼에 대해 배열 형태로 설정하고 프론트에서 마찬가지로 배열 형태의 데이터를 보내서 db에 저장하는것이 불가능한걸까요??? 

답변 1

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

배열 형태는 어렵고 배열 형태의 문자열을 저장한 뒤 setter getter 설정으로 가져올 수는 있습니다. 사실 그냥 시퀄라이즈 대신 json array를 쓰거나 테이블구조를 1대다 관계로 만드는 게 더 낫습니다.

https://stackoverflow.com/a/43002437

do wang님의 프로필 이미지
do wang
질문자

감사합니다!! 일단 도전해보겠습니다. 말씀하신 1대 다는 product에 대한 size 가 맞을까요??

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네 프로덕트-프로덕트사이즈 관계입니다. 그래야 프라이스 등의 중복이 막아집니다.

do wang님의 프로필 이미지
do wang

작성한 질문수

질문하기