DBとアプリをつないでみる

前回のサンプルアプリの続きです。
今度はDBとの接続までやってみます。


使うDBはMySQL。バージョンは4.1です。

まずはDummyTunes用のスキーマを作ります。
Railsアプリの場合、開発用・テスト用・本番用の3つを指定できるので、とりあえず開発用のものを作ります。

MySQLの場合、MySQL Administratorというツールがあるので、今回はそれを利用してみます。
このツールはMySQL GUI Toolsからインストールできます。
ちなみにこちら、便利なツールがパッケージになっているのでなかなかお得です。

さて、そのMySQL Administratorからやる作業は以下のとおり。

新しいスキーマを作成

 ↓

そのスキーマに対応したユーザーを作成

 ↓

ユーザーの権限を設定

てことで、まずは新しいスキーマの作り方。
左のメニューの「カタログ」を選ぶとスキーマのリストが出てくるので、そのリストのところで右クリック → 「Create New Schema」を選択します。
そこで、スキーマの名前を訊かれるので、今回は「dummytunes-development」と入れます。

次にユーザーの作り方。
左のメニューの「User Administration」を選ぶと、メインのところに「Add new user」というボタンがあるので、それをぽちっと。
Login Informationというフォームのところを入力していきます。こんな感じ。

MySQL User → dummytunes
パスワード  → **********(お好きなパスワードをお使いください)

「Confirm Password」のところには、同じパスワードをもう一回お願いします。
ここまで終わったら、下の「Apply changes」をぽちっとやりましょう。
これでユーザーが作られました。

次にメインの上のほうにある、「Schema Privileges」のタブをクリックします。
ここからは最後の権限の設定になります。
画面にはさっき作ったスキーマがリストになって表示されているかと思うので、先ほどの「dummytunes-development」をクリックします。
すると、右にカギのアイコンがじゃらじゃらついたものが出ると思います。
こやつが権限です。近くにある「<<」というボタンを押して、全部まとめて左に移動させましょう。
ここまでできたら、また「Apply changes」をぽちっとやります。

これで、DB側の設定はいったん終了です。

続いて今度はRadRailsに戻ります。
前回作った「DummyTunes」プロジェクトがあるかと思います。
その中のconfig/database.ymlを開きます。

これがDBとアプリをつなぐ設定ファイルです。
ここさえ設定をちゃんとすれば、それで連携ができるのだから、大変ラクですね。
ここには、こんな感じで書きます。

CODE:
  1. development:
  2.   adapter: mysql
  3.   database: dummytunes-development
  4.   username: dummytunes
  5.   password: dummytunes
  6.   host: localhost

これだけで、開発環境用のDBとアプリは連結されました。
ちょっと解説しますと、最初の「development」が開発環境のDB接続先であることを示しています。
冒頭でちょっとだけ触れた、テスト用、本番用にも、それぞれ「test」、「production」って言葉がついていますので、それが必要になったときは、またそれを設定しましょう。

あとの意味はこんな感じですね。

「adapter」
 → 接続に使うDBの名前。OracleとかPostgreSQLとかのアレです。

「database」
 → スキーマの名前。これがさっきMySQL Administratorで設定したものになります。

「username」「password」
 → そのまんま。これもさっき設定したものを指定します。

「host」
 → DBの実体があるサーバーの名前。自分のパソコンの中だと「localhost」という名前になります。

接続まで、あっという間でしたね。
(もっとも、文章にしたらだいぶ長くなってしまいましたが。。)

次からは本格的に作っていけそうです。

ここまでの結果

DBスキーマ・ユーザーの作成
RailsアプリとDBの接続をdatabase.ymlで実現

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加 |

0 Responses to “DBとアプリをつないでみる”


  1. No Comments

Leave a Reply