• ベストアンサー

Ruby on RailsでSQL呼び出し時のテーブル名に接頭辞を設定したいのですがどうしたらよいでしょうか?

Ruby on RailsでSQL呼び出し時のテーブル名に接頭辞を設定したいのですがどうしたらよいでしょうか? 一つ一つマッピングする方法は見つかったのですが、一括で設定する方法が見つからず質問させていただきました。

質問者が選んだベストアンサー

  • ベストアンサー
  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.2

>>一つ一つマッピングする方法は見つかったのですが、一括で設定する方法が見つからず質問させていただきました。 一括で設定がどういうことを意図するか不明ですが、 config/environment.rb の最後に ActiveRecord::Base.table_name_prefix = "sys_" (接尾なら"_suffix") のように追加する方法があるようです。(試していません。) ちなみにidフィールドも変更する場合 ActiveRecord::Base.primary_key_prefix_type = xxxxxxx なんて指定方法もあるようです。 ただ、「Railsに逆らわずに、できるだけRailsの規約にしたがうべきです」ということも書かれています。 参考資料:「Rails レシピ/オライリー・ジャパン」 2章データベースに関するレシピ/レガシーデータベースの統合より

wnsml
質問者

お礼

まさに求めていた答えをありがとうございます。 レンタルサーバを使っているのですが、 データーベースが一つしか作成できないので テーブル名が衝突しないように質問させていただきました。 参考資料も見てみようと思います。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

詳しくは知らないので方法はあるのかもしれませんが…。 Ruby on Railsの場合、Ruby on Railsの流儀で名前をつけることを強制される部分があるので、「テーブル名かクラス名を変えなさい」が正解のような気がします。

参考URL:
http://itpro.nikkeibp.co.jp/article/COLUMN/20070626/275943/?ST=develop&P=3
wnsml
質問者

お礼

ありがとうございます。 参考になりました。

すると、全ての回答が全文表示されます。

関連するQ&A