2005-09-23 13:29:33 +00:00
|
|
|
module ActiveRecord
|
2005-09-25 17:56:03 +00:00
|
|
|
# TODO: Document me!
|
|
|
|
class Schema < Migration
|
2005-09-23 13:29:33 +00:00
|
|
|
private_class_method :new
|
|
|
|
|
|
|
|
def self.define(info={}, &block)
|
|
|
|
instance_eval(&block)
|
|
|
|
|
|
|
|
unless info.empty?
|
|
|
|
initialize_schema_information
|
|
|
|
cols = columns('schema_info')
|
|
|
|
|
|
|
|
info = info.map do |k,v|
|
|
|
|
v = quote(v, cols.detect { |c| c.name == k.to_s })
|
|
|
|
"#{k} = #{v}"
|
|
|
|
end
|
|
|
|
|
|
|
|
update "UPDATE schema_info SET #{info.join(", ")}"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|