Ruby on Rails/ActiveRecordをライブラリとして利用する?

ActiveRecordをライブラリとして利用するにはまず、

require 'rubygems'
require 'active_record'

ActiveRecord::Base.establish_connection(
  :adapter => 'mysql',
  :host => 'localhost',
  :username => 'DB接続アカウントのID',
  :password => 'DB接続アカウントのPW',
  :database => 'DB名',
  :socket => '/var/lib/mysql/mysql.sock'
)

としてDBへの接続を確立します(この例ではMySQLへの接続を例にとっています)。
socketの指定がないと

No such file or directory - /tmp/mysql.sock (Errno::ENOENT)

のようなエラーが出る場合があるので環境のsocketのパスを指定します。

次に、ActiveRecordで扱いたいテーブルが

CREATE TABLE some_records (
 id        integer(11)   NOT NULL auto_increment,
 userid    integer(11)   NOT NULL,
 contents  text          NOT NULL,
 PRIMARY KEY  (id)
) TYPE=MyISAM;

であるとすると、スクリプトには続いて

class SomeRecord < ActiveRecord::Base
end

というクラスを定義します。
(some_recordsというテーブル名なのでSomeRecordというクラス名になります)

後は、この定義したクラスを使ってテーブルを操作します。

# レコードをカウント
total_count = SomeRecord.count
# ユニークユーザIDによるカウント
user_count = SomeRecord.count(:distinct => true, :select => 'userid')

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

アークウェブのサービスやソリューションはこちら