2011-02-03 6 views
3

私は、大文字のテーブルの列を持つ従来のデータベースにアクセスしているレールプログラムを持っています。小文字列のリターンモデル

私はuser.firstname入力できるようにしたい

ではなくuser.FIRSTNAME

どのように私はActiveRecordのは私がモデルに小文字の属性を使用できるようにするためにこれらの列名の小文字のバージョンを取得するのですか?

答えて

0

移行で列名を変更する方が簡単かもしれません。それ以外の場合は、使用している宝石を変更してから、それらが劣化するにつれてベンダー/宝石に梱包してください。各テーブルについて

を移行:

rename_column :COLUMN_NAME, :column_name 
:各列について

rename_table :OLD_NAME, :new_name 

  1. スクリプト生成/移行が
  2. すくいDB移行を書き込むdown_case_table_names_and_columns

    問題

    テーブルの名前を変更する必要はないかもしれませんが、テーブル名の変更についてはエラーが発生することがあります。私はテーブル名を変更したことがないので、これがうまくいくかどうかわかりません。カラム名を変更すると問題はありません。

+0

私はデータベースがあれば破損する可能性が他のソフトウェアによってアクセスされるよう、列名を変更すると、オプションであると思ういけません私はそれらを変える。確かに、モデルがすべての属性を小文字に変換する方法が必要ですか? –

+0

あなたはこれについて間違ったやり方をしています。悪いデータベースに合わせてアクティブなレコードを変更しないでください。あなたはmysqlをダムし、テーブル名を変更します。 – s84

+0

アクティブなレコードを変更したい場合は、まずアクティブなレコードの梱包を解凍します。次に、Rubyモデルのマッピング方法を調べてください。 – s84

関連する問題