开发者

return model with lowercase columns

I have a rails program that is accessing a legacy database with UPPERCASE table columns.

I want to be able to type user.firstname ra开发者_StackOverflow中文版ther than user.FIRSTNAME

How do I make ActiveRecord retrieve the lowercase version of these column names to allow me to use lowercase attributes in the model?


It might be easier to change the column names with migrations. Otherwise you will have to change the gems that you are using and then pack them in vendor/gems to keep as they degrade.

  1. script/generate migration down_case_table_names_and_columns
  2. write the migration
  3. rake db:migrate

For each table:

rename_table :OLD_NAME, :new_name

For each column:

rename_column :COLUMN_NAME, :column_name

problems

You might not have to change the name of the tables, fyi - you might get an error about changing the table names. I have never changed a table name so I don't know if this will work. In therms of changing column names there will be no problem.


This is probably the best way to deal with this if changing column names isn't feasible: https://github.com/reidmix/legacy_mappings

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜