인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

이승훈님의 프로필 이미지
이승훈

작성한 질문수

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

시퀄라이즈를 이용해서 mysql id row 커스텀 하는방법

해결된 질문

작성

·

158

0

 안녕하세요 조현영님 오랜만에 질문드립니다. mysql을 사용해서 crud에서 create를 하려는데 id 값을 0, 1, 2, 3, 4 ... 등에 자연수가 아닌 날짜 방식을 사용하려 합니다 예를 들면 아래와 같습니다. (name, price, origin, type 등은 req.body를 통해서 가져옵니다.)

createdProduct = await Product.create({
            id: Date.now().toString(),
            name,
            price,
            origin,
            type,
        });

하지만 이 상태에서 create하게 되면 'Out of range value for column 'id' at row 1' 이런 에러가 나오게 됩니다. 구글에 검색해보니 datatype이 일치하지 않아 발생하는 에러라고 나옵니다. 그래서 저는 모델에 id row를 추가하고  생각이 들어 Product 모델에 다음과 같이 id row를 추가했습니다.

id: {
                    type: Sequelize.STRING(20),
                    allowNull: false,
                    unique: true,
                    primaryKey: true,
                }

여기까지 했는데도 불구하고 같은 에러가 나옵니다. id row를 잘못 정의한것 일까요?

답변 1

0

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

model을 바꾸는 건 실제 디비에 영향을 주지 않습니다. 실제 디비를 sql이든 워크벤치든을 통해 바꾸셔야 합니다.

이승훈님의 프로필 이미지
이승훈
질문자

답변 감사드립니다!

이승훈님의 프로필 이미지
이승훈

작성한 질문수

질문하기