4주 프로젝트 - dev log #4

Joshua Song / 송성현·2020년 2월 3일
0

im_16 프로젝트

목록 보기
11/21

데이터베이스의 entitiy를 작성하고 그 안의 타입 지정과 샘플 데이터를 삽입, 그리고 실제 테이블간의 관계를 설정해 주었다. 실제로 코드를 실행시켰을 때 마리아디비에 실제 데이터베이스와 테이블이 작성된 것을 확인할 수 있었다.

여러가지 알아간 사항은 oneToMany 와 ManyToOne은 각자 테이블의 entity 부분에 넣어줘야하고 ManyToMany는 두 테이블 중 한곳에만 넣어주면 된다. cascade 옵션은 데이터 처리 과정에서 동기화를 위해 넣어주는 것이다. 이 옵션도 한쪽에만 넣어주면 된다.

그리고 샘플 데이터를 데이터베이스에 삽입 할 때 한글을 인식하지 못해서 에러가 났는데 이 부분은 처음 데이터 베이스를 생성할 때 기본 CHaracter Set을 utf8로 설정해주면 해결된다. 몇 가지 실험해본 결과 ormconfig.json에서 set해주는 Character Set은 적용이 안돼 발견한 사실이다.

CREATE DATABASE cats CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

그리고 location항목의 type을 point로 설정했기때문에 이 형식을 맞추고자 wkx 모듈을 다운받아 point 데이터를 wkt로 변환시켜 저장해주는 방법도 찾았다. 이건 나중에 더 유용하게 사용할 수 있을 것이다.

const venue = new wkx.Point(1, 2).toWkt();
cat.location = venue;

그리고 ormconfig.json의 내용을 dotenv를 사용해 어느정도의 익명성을 보장하려 했는데 .json에는 require사용이 안돼 .js로 파일을 바꿔주었다. 하지만 git 에 푸쉬할때 .env 파일이 같이 올라가
git rm -r --cached .env
명령어를 통해 .env 를 빼놓았다.

꼼꼼하게 데이터 베이스를 수정하고 있어 시간이 걸린다. 기본 라우팅만 설정해놓았으니 이제 이 안을 코드로 채우면 될 것 같다!

profile
Grow Joshua, Grow!

0개의 댓글