while porting some parts of our java-based plattform to rails i
encounter some problems while using migrations and db:schema:dump. the
database schema uses several "double" column types which are not
supported natively in activerecord ... as far as i know ... and i
cannot change the database schema.
from some blogs i know that "t.float :mycolumn :limit => 53" results
in a generated column of type double.
this solved 50% of my problem, but running a "rake db:schema:dump"
ignores the "limit 53" which will generate an invalid schema on next
run of "rake db:schema:load".
i think if found the relevant part in the mysql_adapter.rb to patch
this, but it would be great if some more experienced rails people
could confirm this.
regards
jan
*** mysql_adapter.orig.rb 2009-01-19 12:09:58.000000000 +0100
--- mysql_adapter.rb 2009-01-19 11:59:18.000000000 +0100
***************
*** 116,121 ****
--- 116,122 ----
else
super # we could return 65535 here, but we leave it
undecorated by default
end
+ when /^double/i; 53
when /^bigint/i; 8
when /^int/i; 4
when /^mediumint/i; 3
***************
*** 504,509 ****
--- 505,511 ----
when 3; 'mediumint'
when nil, 4, 11; 'int(11)' # compatibility with MySQL
default
when 5..8; 'bigint'
+ when 53; 'double'
else raise(ActiveRecordError, "No integer type has byte size
#{limit}")
end
end
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---