2007.08.21 18:50
* 普通のRubyプログラムで、データはplainなテキストじゃなく、sqlite3使いたい
* sqlは書きたくない (後にMySQLなどに簡単に変更できるように保ちたい)
* 無駄に複雑にしたくない。ベタに書きたい
こんなシチュエーションでの例。
ベタに書くと、こんな感じになる。
ちょっと細かく:
ActiveRecord::SchemaはActiveRecord::Migrationを継承している。
ActiveRecord::Schema.verbose = false
これがないと、ActiveRecord::Migrationのwriteメソッドが
SQL実行結果を標準出力に出力してしまう。
ActiveRecord::Schema.defineのブロックの中に
verbose = false
と書いてみたが、ダメだった。
* sqlは書きたくない (後にMySQLなどに簡単に変更できるように保ちたい)
* 無駄に複雑にしたくない。ベタに書きたい
こんなシチュエーションでの例。
require 'rubygems'
require 'active_record'
ActiveRecord::Base.establish_connection(
:adapter => 'sqlite3',
:database => 'sqliter.db',
:timeout => 5000
)
ActiveRecord::Schema.verbose = false
ActiveRecord::Schema.define do
create_table "users", :force => true do |t|
t.column "name", :string
end
end
class User < ActiveRecord::Base
end
User.create(:name => "taro")
User.create(:name => "jiro")
p User.find(:all)
ベタに書くと、こんな感じになる。
ちょっと細かく:
ActiveRecord::SchemaはActiveRecord::Migrationを継承している。
ActiveRecord::Schema.verbose = false
これがないと、ActiveRecord::Migrationのwriteメソッドが
SQL実行結果を標準出力に出力してしまう。
ActiveRecord::Schema.defineのブロックの中に
verbose = false
と書いてみたが、ダメだった。
コメント