Node.js/ExpressでPostgreSQLを使おう (2/6)
作成:2013-07-06 09:46
更新:2013-07-06 10:19
更新:2013-07-06 10:19
■Heroku側の準備
続いて、Heroku側の準備をしましょう。これもコマンドプロンプト/ターミナルからコマンド操作で行います。Node.jsアプリに移動してから以下の手順で作業していってください。
これでデータベースのアドオンは設定できましたが、この状態ではまだデータベースにはテーブルも何もありません。実際にプログラムを作成する前に、テーブルを準備しておくことにしましょう。今回はごく簡単なテーブル「mydata」を用意することにします。これは以下の項目があります。
id:自動的に割り振られる整数値。プライマリキーとなるもの。
name:名前を保管する。テキスト値。
mail:メールアドレスを保管する。テキスト値。
memo:メモ書き。テキスト値。
では、このテーブルをHerokuに作成しましょう。この作業も引き続きコマンドプロンプト/ターミナルで行います。以下のように実行をしてください。
コマンドが無事に通ると、SQL文を入力できる状態になります。では、以下のようにタイプしてテーブル「mydata」を作成しましょう。
heroku loginまだログインしていない場合は、まずherokuにログインしてください。実行するとアカウント(登録メールアドレス)とパスワードを尋ねてくるので正しく入力すればログインされます。
heroku addons:addherokuにPostgreSQLのアドオンを追加します。これは、「heroku addons:add heroku-postgresql:プラン」という形で実行します。無料プランの場合は、プラン名は「dev」になりますので、とりあえずこれで実行しましょう。
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 (これでHerokuに追加したデータベースプランにmydataテーブルが作成されました。後は、プログラムを作成して、このテーブルを利用するだけです。
id serial primary key,
name char(50),
mail char(100),
memo char(255)
);
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ