http://activetokyocabi.rubyforge.org/
会社の同僚がスキーマフリーの素晴らしさについて熱く語っていたので、ActiveTokyoCabinetでも実装してみた。
require 'active_record' require 'active_tokyocabinet/tdb' ActiveRecord::Base.logger = Logger.new($stdout) ActiveRecord::Base.colorize_logging = false class Emp < ActiveRecord::Base include ActiveTokyoCabinet::TDB schema_free :timestamp => true end ActiveRecord::Base.establish_connection( :adapter => 'tokyocabinet', :database => './' ) Emp.create!(:foo => 'FOO', :bar => 'BAR') Emp.create!(:ZOO => 'zoo', :BAZ => 'baz') emp = Emp.new emp.hoge = 100 emp.fuga = 200 emp.save! Emp.find(:all).each do |i| i.xxx = 'XXX' i.save end emps = Emp.find(:all, :conditions => {:hoge => 100}) emps.find(:all).each do |i| p i.attributes end
特にカラムを定義しなくても好きに追加できるし、検索もできる。