TIL 23_07_18 (화)

jegw·2023년 7월 18일
0

TIL

목록 보기
46/77
post-custom-banner

오늘 한 일

백오피스 프로젝트


MySQL 부분 일치 검색

const { Op } = require('sequelize');

findAllStoresByString = async (searchString) => {
  const stores = await Stores.findAll({
    where: {
      storeName: { [Op.like]: `%${searchString}%` },
    },
  });
  return stores;
};

이것은 storeName컬럼이 searchString을 포함하는 레코드를 모두 찾는 시퀄라이즈 쿼리이다.
Op.like는 대소문자를 구분하지 않는다.

id와 외래키 이름

지금까지는 강의에서 본 대로 id를 모델의 이름을 붙여서 modelsId로 고치고(ex postId)
참조하는 컬럼쪽은 ModelsId(ex PostId) 이렇게 해서 구분을 하는 줄 알았다.

  • 모델을 생성하면 자동으로 생기는 id컬럼은 그대로 쓰는 것이 일반적이다.
  • 컬럼 이름을 PascalCase로는 잘 안쓴다. 저렇게 하면 오타를 구분하기도 힘들고 헷갈릴 수 있다.
  • 모델의 id는 그대로 쓰고, 레퍼런스(외래키) 컬럼은 postId 이렇게 쓰는 것이 나은 방법이다.
post-custom-banner

0개의 댓글