0

これをグーグルとスタックオーバーフローしてみましたが、答えが見つからなかったので、投稿しようと思いました。

現在、テーブルと列の名前がキャメルケース (つまり、tableName、columnName) で定義されているレガシー システム (PHP/MySQL) を継承しています。このシステムを RoR に移行し、MySQL テーブルもスネーク ケース (つまり、table_name、column_name) に変換したいと考えています。

これを効果的に実行し、データを正常に移行するにはどうすればよいですか? 誰もこれを前にしたことがありますか?

4

2 に答える 2

0

モデルのテーブル名をオーバーライドできます。

class Project < ActiveRecord::Base
  self.table_name = "project"
end

また

class Post < ActiveRecord::Base
  def self.table_name
    "special_" + super
  end
end

Post.table_name # => "special_posts"

詳細: http://guides.rubyonrails.org/3_2_release_notes.html

また、スクリプトを作成してテーブルの名前を変更し、後でレール規則を使用することもできます。それはあなた次第です!

そこから、レール移行を使用して列名の名前を変更できます: Ruby on Rails 移行でデータベース列の名前を変更するにはどうすればよいですか?

于 2012-09-19T11:57:39.813 に答える