Ruby on Rails/ActiveRecordをライブラリとして利用する http://www.ark-web.jp/sandbox/wiki/247.html

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')
[edit]

参考

投稿者進地 | パーマリンク

| append.gif

tag: Ruby on Rails, ActiveRecord?


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-10-17 (水) 16:29:57 (6029d)

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