Node.js | Node.js/Express으로 PostgreSQL 사용 | Heroku에 준비
Heroku 측의 준비를 한다. 이것도 명령 프롬프트/터미널에서 명령으로 조작한다. Node.js 어플리케이션으로 이동한 후 다음과 같이 작업한다.
$ heroku login
아직 로그인하지 않은 경우라면 먼저 heroku에 로그인한다. 실행하면 계정(등록 메일 주소)와 비밀번호를 물어 오므로 정확하게 입력하면 로그인된다.
$ heroku addons:add
$ heroku-postgresql:dev
heroku에 PostgreSQL의 기능을 추가한다. 이것은 “heroku addons:add heroku-postgresql:플랜 “이라는 형태로 실행한다. 무료 플랜의 경우는 플랜 이름은 “dev"가 되므로, 우선 이것으로 실행한다.
heroku pg:promote HEROKU_POSTGRESQL_이름_URL
추가 기능이 추가되면 “attached as HEROKU_POSTGRESQL_XXX_URL"라는 데이터베이스 이름이 표시된다. 이 앱의 기본 데이터베이스로 사용하게 해 두는 것이 “heroku pg:promote"이다. 이것으로 앞전에 추가한 애드온 플랜이 사용할 수 있게 된다.
Heroku에 테이블 생성
이제 데이터베이스의 기능을 설정할 수 있었지만, 이 상태에서는 아직 데이터베이스에 테이블도 아무것도 없다. 실제로 프로그램을 작성하기 전에 테이블을 준비하도록 한다. 이번에는 아주 간단한 테이블 mydata을 마련하기로 한다. 이것은 다음의 항목이 있다.
항목 | 설명 |
---|---|
id | 자동으로 할당된 정수 값이다. 기본 키가 되는 것. |
name | 이름을 저장한다. 텍스트 값. |
이메일 주소를 보관한다. 텍스트 값. | |
memo | 메모를 쓴다. 텍스트 값. |
그럼 이 테이블을 Heroku에 작성한다. 이 작업도 계속 명령 프롬프트/터미널에서 한다. 다음과 같이 실행한다.
heroku pg:psql
이것으로 Heroku의 데이터베이스에 SQL 문을 전송하고 조작할 수 있다. 이 명령은 로컬 환경에 PostgreSQL가 설치되어 있으며, PostgreSQL 프로그램에 액세스할 수 있어야(환경 변수 Path 경로가 등록 필요) 한다. 그 준비 되지 않으면 실행할 수 없기에 주의한다.
명령을 무사히 통과하면 SQL 문을 입력 할 수있는 상태가 된다. 그럼 다음과 같이 입력하여 테이블 “mydata"를 만든다.
create table mydata (
id serial primary key,
name char(50),
mail char(100),
memo char(255)
);
이걸로 Heroku에 추가 한 데이터베이스 프랜에 mydata 테이블이 생성되었다. 이 후에는 프로그램을 작성하면서 이 테이블을 이용하면 된다.