출근 61일차

·2022년 11월 21일
0

회사이야기

목록 보기
61/118

오늘은 짜증도 나고 재미도 있던 날이였다

에픽이 그냥 내꺼네?

기획, 프로세스 설계, 타사와 협의 모든 것을 내가 전부 다 하고 있다.

아오 진짜 -_- 오늘 좀 스트레스를 좀 많이 받았는데 오늘 모든게 잘 풀려서 그나마 괜찮긴 했는데

리더님이 타사와의 협의는 도와주고 계시지만 후,,,,
에픽 회고를 하는 날에 다 이야기 할 것이다 기필코

그래도 다 잘 됐다.

개발서버에 배포가 끝났고, 모든 작동이 잘 돌아가는 것이 확인됐다.

이제 운송장에 대한 검수가 끝나면 프로덕션에 올라가서 테스트하고 실사용이 진행될 것 같다.
정말...끝났따...

진짜진짜진짜 오래걸렸다(....)

코드가 너무 더러워

진짜 개-판이다(....)

비즈니스를 위해서 일단 잘 돌아갈 수 있게 만들어놨다.


(대충 이 느낌)

그래서 정비기간이 생기면 그때 좀 디자인패턴을 적용해서 리팩토링을 할 예정이다...

(이러진 않겠지? 제발)

TypeORM MySQL에서 JSON쓰기

말로만 들어봤는데 우리팀에서 쓰고 있었다(!)

그런데 조회가 너무 어려워서 걍 한시간 반정도 열심히 웹서핑하다가 찾아봤다.

그래서 찾음!!

https://stackoverflow.com/questions/38797627/query-a-json-column-with-an-array-of-object-in-mysql

예시

테이블에 JSON 컬럼이 존재함!

컬럼은 배열 속에 객체의 형태로 존재한다.

// Table Name : Menu
// Colunm Name : detail
[
	{id : 10 , name : "피자"},
    {id : 20 , name : "치킨"},
    {id : 30 , name : "족발"}
]
const name = "피자"

const data = await this.connection
		.createQueryBuilder(Menu,'menu')
		.where(`JSON_CONTAINS(detail->'$[*].name', JSON_ARRAY(:name))`, {
          name
        })
		getOne();

여기서 [*]를 쓰는게 신기했는데, 원래는 배열의 인덱스 번호가 들어갔다가 저렇게 별을 넣으니까 모든 배열을 기준으로 조회를 할 수 있더라

사실 쓰는 방법이 엄청 다양했는데, 내가 돌아가는 것이 확인했던 방법이 저거라서...일단 저렇게 쓰게 될 것 같다. 아마도?

그리고 prisma를 좀 봤는데...

https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields

걍 메소드가 있네?


ORM을 바꾸는게 쉬운 것이 아니라서 제안을 할 순 없지만 TypeORM 참(...) ㅠㅠ

이런저런 고민이 많은데 요즘은 노드에 대한 고민도 조금 생긴 것 같다
자바 공부를 좀 해보는게 좋을 것 같아서 여유가 조금 더 생기면 좀 둘러봐야겠다

profile
물류 서비스 Backend Software Developer

0개의 댓글