
237
13
장
지속성
록 설계했지만, 여러 번 실행하더라도 안전하게 만들었습니다. 테이블을 생성할 때는
IF
NOT
EXISTS
옵션을 사용했고, 시드 데이터를 추가하기 전에 테이블이 비어 있는지 확인했습니다.
이제 스크립트를 실행해서 데이터베이스를 초기화합니다.
$ node db-init.js
데이터베이스가 만들어졌으니 웹사이트에서 사용할 수 있는 코드가 필요합니다.
데이터베이스 서버는 일반적으로 동시에 연결할 수 있는 숫자를 제한하므로, 웹 서버는 보통
연결 풀
connection
pool
을 써서 새로 연결을 만드는 부담과 연결을 너무 오래 유지하는 부담을 절충
합니다. 다행히 연결 풀은
PostgreSQL
노드 클라이언트에서 담당하므로 크게 신경 쓸 필요는
없습니다.
이번에는
db
.
js
파일을 조금 다르게 사용합니다. 파일을 바로 임포트해서 데이터베이스와 연
결하는 대신, 데이터베이스와 통신을 담당하는
API
를 반환하도록 만듭니다.
휴가 패키지 모델에 대해서도 결정할 것이 있습니다. 모델을 만들 때 데이터베이스 스키마에는
스네이크 케이스를 썼지만 자바스크립트 코드에서는 전부 캐멀 케이스를 썼습니다. 크게 보면
세 가지 방향이 있습니다.
●
첫째, 스키마에서도 캐멀 케이스를 쓰도록 리팩터링합니다. 이렇게 하면 프로퍼티 이름을 따옴표로 감싸
야