VPSでRuby開発をしよう

第5回 MySQLを使った簡単Webアプリ構築(完結編)

この記事を読むのに必要な時間:およそ 2 分

Ruby連載の最終回にあたる今回は,Ruby on Rails(以下Rails)でMySQLを使用するWebスケジューラを完成させます。

本連載では,@YMCのVPSサービスを用いて説明を進めていきます。利用するVPSサービスにより細かな違いはありますが,大きな流れは同じですから,ご利用の環境に合わせて読み替えてください。

スケルトンを作る

まず,Railsのスケルトンを作ります。新たに作成しましょう。

$ rails -d mysql scheduler
$ cd scheduler
$ script/generate scaffold scheduler subject:string sdate:datetime edate:datetime description:string

ここまででRailsスケルトンはできました。

続いて,config/database.ymlファイルを編集します。図1のように,第3回で作成したユーザ名とパスワードを設定します。「database」にある名前は,次の手順で作成するMySQLのDB名なので,控えておいてください。

図1 config/database.ymlの編集箇所

development:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: scheduler_development
  pool: 5
  username: scuser
  password: scuser
  socket: /var/lib/mysql/mysql.sock

developmentセクションの「username」「password」の定義内容を書き換える。「databese」にある名前は後でMySQL上で作成するDB名なので控えておく。

MySQL DBを設定する

続いて,MySQL DBを設定します。ユーザ「scuser」をまだ作成していない場合は,MySQLのコンソールで以下のように実行してください。

mysql> CREATE USER 'scuser'@'%' IDENTIFIED BY 'scuser';

ユーザを作成したら以下のコマンドを実行して,DBを作成しユーザscuserに権限を付与します。

mysql> CREATE DATABASE `scheduler_development` DEFAULT CHARACTER SET utf8;
mysql> GRANT ALL PRIVILEGES ON `scheduler_development` . * TO 'scuser'@'%' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> exit

今度はOSのシェルで,以下のコマンドを実行します。

$ rake db:migrate

これで,scheduler_developmentデータベースの中に必要なテーブルが作成されました。

試しに動かしてみる

とりあえず動作するレベルのアプリができましたので,まずは動作を確認してみましょう。シェルで以下のコマンド実行します。

$ script/server

第4回で説明したような,WEBrick(Railsが持つ簡易Webサーバ)の起動画面が表示されます。ブラウザからは「ホスト名:3000/schedulers/」のように,ポート番号3000番とschedulerの複数形schedulersをURLに加えます。たとえばrails.gihyo.jpというホストであれば,URLはhttp://rails.gihyo.jp:3000/schedulers/となります。

図2のような画面が表示されれば,動作チェックは完了です。シェルでCtrl-Cキーを押して,サーバを一旦終了させましょう。

図2

図2

著者プロフィール

山本善之介(やまもとぜんのすけ)

フリーランスライター。富山県出身。プログラマから編集プロダクション勤務を経て,現在はIT系を中心に執筆活動中。趣味はPHPやVisual Basic,MySQLなどによるプログラミング,時刻表や地図を読むこと。池波正太郎と山本夏彦,小林よしのりのファン。

コメント

コメントの記入