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')
参考 †
tag: Ruby on Rails, ActiveRecord?