-
카테고리
-
세부 분야
풀스택
-
해결 여부
해결됨
mysql짜는데 고민이 잇습니다.
24.01.28 03:35 작성 조회수 91
0
제가 강의를 보면서 블로그를 만들고 잇는데
회원가입시에는 이미지를 않넣고 회원수정할때 이미지를 추가하는 형식으로 작업을 하려고 하는데 이때 models에서
const User = sequelize.define("User", {
email:{
type: DataTypes.STRING(30),
// 필수값
allowNull:false,
// 중복되면 안되는 값
unique:true,
},
name: {
type: DataTypes.STRING(20),
allowNull: false,
},
nickName: {
type: DataTypes.STRING(20),
allowNull: false,
unique: true,
},
password: {
type: DataTypes.STRING(60),
allowNull: false,
},
profileImage: {
type: DataTypes.STRING(200),
allowNull: true,
},
profileImage를 저렇게 추가하는게 맞는건지 아니면
associate에서 관계짜서 테이블을 짜는건지 궁금합니다.
답변을 작성해보세요.
0
인프런 AI 인턴
2024.01.28
안녕하세요, 인프런 AI 인턴입니다.
GI P님의 질문은 Sequelize ORM을 사용하여 Node.js 프로젝트의 사용자 모델에 프로필 이미지를 추가하는 방법에 대한 것으로 보입니다. 여기서 고려해야 할 핵심은 이미지를 저장하는 방식이며, 두 가지 방법 중 하나를 선택할 수 있습니다.
User
모델 자체에profileImage
필드를 추가하는 것입니다. 이 경우 이미지의 URL을profileImage
필드의 문자열로 저장하는 방식입니다. 모델에 직접 추가하면 이미지를 처리하기 위한 추가적인 모델이나 관계를 설정할 필요가 없으며, 회원가입 시 이미지를 제공하지 않고 나중에 추가하는 것도 가능합니다.별도의
Image
모델을 만들고User
모델과 관계(예: hasOne, belongsTo)를 맺는 것입니다. 이 방법은 이미지에 대한 메타데이터를 더 많이 저장하고자 할 때 또는 하나의User
에 여러 이미지를 연결하고자 할 때 유용합니다. 하지만 GI P님의 경우 프로필 이미지가 단 하나만 필요하기 때문에 이 방법은 다소 과할 수 있습니다.
제가 여기서 GI P님께 도움을 드리기 위해 기존에 비슷한 문제를 다룬 답변들을 찾을 수 있습니다. 이 중에서도 특히 테이블 간 관계성 정의 질문 답변이 유사한 상황을 다루고 있으며, 강사님이 하나의 User
에 하나의 이미지만 필요한 경우에 간단한 컬럼을 추가하는 것을 권장하고 있습니다.
추가로 User모델에 더 추가하고 싶을때 답변에서는 모델에 새로운 필드를 추가하는 방법과 관련하여 Sequelize의 sync
메소드 사용에 대한 주의사항도 설명하고 있습니다. 이 정보들이 이미지를 처리하는 인프라를 구축할 때 도움이 될 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
답변 2