db2 on Rails
DB2でさくさく実現するRESTfulなDBアプリ(1)

RailsアプリからDB2にアクセスするための基礎知識

 

日本アイ・ビー・エム株式会社
Team Ruby
成毛久美子
2008/10/3
この連載では、商用データベースで初めてRuby on Railsに対応したDB2とRuby on Rails(以下、DB2 on Rails)を使ってRESTfulアプリケーションを作成します。

はじめに

 第1回では、DB2 on Railsで、ActiveScaffoldを使った簡単なアプリケーションを作成することにより、DB2 on Railsで開発する際の環境の準備と簡単なRubyアプリケーションの作り方をご紹介します。第2回、第3回では、今回作成するDB2 on Railsの環境を使用した、実践的なRESTfulアプリケーションを作成することにより、RESTfulとは何かと、その利点をご紹介します。

環境の作成

 本連載は、Windows XPで動作確認を行っています。本稿執筆時のRuby、Railsの最新バージョンは、Ruby 1.9、Rails 2.1.1ですが、One-Click Ruby Installerの最終リリースであるRuby 1.8.6-26 Final Releaseで安定稼働している、Ruby 1.8.6、Rails 2.0.2とDB2 9.5、ibm_db 0.10.0の組み合わせを使用します。

 それでは、早速DB2 on Railsの環境をつくってみます。

DB2 9.5の無償版 Express-Cを導入

 まずは、アプリケーションのデータを格納するDB2を導入します。DB2には、商用データベースと同様のパフォーマンスや機能を持ち、無償で利用できるDB2 Express-Cというエディションが用意されています。お手元にDB2がない方は、以下のリンク先よりダウンロードしておきましょう。

 なお、DB2の導入手順に不安のある方は、以下の資料を参考にするとよいでしょう。

Ruby実行環境を整える

 Rubyの実行環境を導入します。Windows用には、いくつかのパッケージが用意されていますが、本稿ではOne-Click Ruby Installerを使います。以下のリンク先より1.8.6-26 Final Releaseをダウンロードし、導入しておきましょう。

 インストールに際して、いくつかの質問項目に答える必要があります。デフォルトの状態で進んでも問題ありませんが、念のため以下の項目を確認しながら進めてください。

・導入するコンポーネント:
「Enable RubyGems」にチェックが入っていることを確認します。RubyGemsはRubyのパッケージマネージャです。これを使ってパッケージの導入をしますので必ず確認しておきましょう。

・導入するディレクトリ:
本稿では、デフォルトの「C:\ruby」に導入している前提で解説を進めます。導入先を変更する際は、ディレクトリ名に空白や日本語を含めないほうが動作上の不具合が少ないようです。

Railsの導入

 次に、Railsを導入します。先ほどRubyと一緒に導入したRubyのパッケージマネージャであるRubyGemsを使って導入します。特定のバージョン、Ruby 2.0.2を導入したいので、バージョンを指定して実行します。コマンドラインでリスト1のコマンドを入力するとインストールが開始します。

●リスト1 Railsパッケージの導入
C:\ruby\bin>gem install rails -v 2.0.2 -y
Bulk updating Gem source index for: http://gems.rubyforge.org
Successfully installed rails-2.0.2
Successfully installed activesupport-2.0.2
Successfully installed activerecord-2.0.2

…(略)…

ibm_dbドライバの導入

 次にデータベースへ接続するためのドライバを導入します。

 ibm_dbは、DB2を含むIBMデータベース用のRuby on Railsドライバであり、IBMが開発しメンテナンスを行っています。0.9.4では、Rails 2.0のXMLカラムのmigrationに対応し、0.9.5では、Rails 2.1.0をサポート、最新版の0.10.0では、DB2 9.5からの新機能であるトラステッド・コンテキストをサポートするなど、バージョンアップ頻度も高く、細かなバグへの対応も迅速に行っています。このibm_dbも、RubyGemsを使って導入できます(リスト2)。

●リスト2 ibm_dbドライバパッケージの導入
C:\ruby\bin> gem install ibm_db -y
Bulk updating Gem source index for: http://gems.rubyforge.org
Select which gem to install for your platform (i386-mswin32)
 1. ibm_db 0.10.0 (ruby)
 2. ibm_db 0.10.0 (mswin32)
 3. ibm_db 0.9.5 (mswin32)
 4. ibm_db 0.9.5 (ruby)
 5. Skip this gem
 6. Cancel installation
> 2
Successfully installed ibm_db-0.10.0-mswin32
Installing ri documentation for ibm_db-0.10.0-mswin32...
Installing RDoc documentation for ibm_db-0.10.0-mswin32...
C:\ruby\bin>

 ここまでで、ひととおりの道具がそろいました。ここからは実際のアプリケーション構築の準備に入ります。

データベースの作成

 DB2上で、このサンプルアプリケーションのためのデータベース(rubydb)を作成します。

 DB2のコマンド・ウィンドウを開き、データベースを作成します(コマンド・ウィンドウは、[スタート]―[すべてのプログラム]―[IBM DB2]―[DB2COPY1]―[コマンド行ツール]―[コマンド・ウィンドウ]で立ち上げます)。

●リスト3 サンプルアプリケーションのためのデータベースを用意
C:\IBM\SQLLIB\BIN>db2 create database rubydb
DB20000I  CREATE DATABASE コマンドが正常に完了しました。
C:\IBM\SQLLIB\BIN>
  1/4 次のページへ

Index
DB2でさくさく実現するRESTfulなDBアプリ(1)
RailsアプリからDB2にアクセスするための基礎知識
→ Page 1
・環境の作成
DB2 9.5の無償版 Express-Cを導入|Ruby実行環境を整える|Railsの導入|ibm_dbドライバもパッケージから導入できる|データベースの作成
・プロジェクトの作成と設定
プロジェクトの作成|データベース接続の設定
・アプリケーションの作成
ActiveScaffoldプラグインの導入|モデルの作成とテーブルの作成|コントローラの作成|標準レイアウトの追加|サーバの起動と動作確認
・ユーザー表へのカラムの追加
カラム追加用スクリプトとデータベースへの反映|関連付けの作成|組織表の作成とユーザー表の修正
・組織コントローラの作成
関連付けの追加
・アプリケーションの実行・動作の確認
・さらにカスタマイズする
・次回、実践編は……

DB2でさくさく実現するRESTfulなDBアプリ



Database Expert フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Database Expert 記事ランキング

本日月間