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 이름을 저장한다. 텍스트 값.
mail 이메일 주소를 보관한다. 텍스트 값.
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 테이블이 생성되었다. 이 후에는 프로그램을 작성하면서 이 테이블을 이용하면 된다.