작성자 없음
작성자 정보가 삭제된 글입니다.
해결된 질문
작성
·
352
0
안녕하세요. 혹시 디비에 객체를 저장하는 경우도 있나요?
예를들어 아래처럼 5개의 색상 키와 그 키에 해당하는 string을 값으로 가지는 객체 형태를 유저 정보에 저장하고 싶어요.
// Color 객체 예시 입니다.
{
RED: string;
BLUE: string;
GREEN: string;
YELLOW: string;
PURPLE: string;
}
nest&typeorm는 처음이다보니 chatgpt의 도움을 많이 받고 있는데요. 객체는 저장이 되지 않지만 postgresql 에서는 이런 방법을 알려주긴하더라고요.
export class User extends BaseEntity {
@PrimaryGeneratedColumn()
id: number;
@Column()
email: string;
// 생략...
@Column({ type: 'jsonb', nullable: true })
categories: { [key in Color]: string } | null;
// 생략...
이 5개에서 늘어나거나 줄어들일이 없어서 테이블을 만드는게 맞는지 고민이 돼서요. 위와 같이하는건 좀 이상한 방법일까요? 이럴거면 그냥 email:string 하듯이 RED:string 이런식으로 컬럼 5개로 저장하는 방법이 나을까요?
답변 1
1
5개에서 고정이면 각각을 컬럼으로 해서 5개 컬럼 만들면 됩니다. 물론 postgre나 mysql에서 json 데이터 저장을 제공하긴 하는데 명확한 이유가 없다면 쓰지 않는 게 좋습니다.
보통은 쓰지않는것이 좋군요! 감사합니다