Hello Folks! I only recently started to use Ruby on Rails coming from Delphi, which is why I am quite happy with using InterBase as my database. 3rdRail does come with an InterBase adapter but I could not run migrations with Rails 2.1 and 3rdRail 2.0 against InterBase 2009. The error occurred in ActiveRecord::Migrator when the get_all_versions method was executed. It has some hard-coded SQL: Base.connection.select_values("SELECT version FROM # {schema_migrations_table_name}").map(&:to_i).sort which caused a problem given that version is a reserved word in InterBase. I fixed the problem by freezing the rails 2.1 classes and introduced the following patch: version_column = Base.connection.quote_column_name("version") Base.connection.select_values("SELECT #{version_column} FROM # {schema_migrations_table_name}").map(&:to_i).sort With this change the base connection can check for reserved words and will wrap the name "version" into double quotes. The same problem resurfaces in the private method record_version_state_after_migrating of Migrator. It has some hard coded SQL for deleting or inserting a version string into the schema_migrations table. Here I had to ask the connection class for its version column name too. Whilst this is now working (e.g. I can migrate) I don't like this fix very much. As far as I understand the Migrator class shouldn't have any DB- specific knowledge. Wouldn't it be better to have a method on the connection class to ask for all versions applied so far? And shouldn't the DB connection class be responsible for inserting or deleting a version schema_migrations table? I know this will cause that a whole bunch of adapters will have to support those new methods. But from an pure OO perspective I think this would be a better way to do migrations. What do I need to do to submit such a change to the Rails core team for consideration?
Thanks for a short answer in advance. Salut, Mathias --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk@googlegroups.com To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---