2016-03-30 5 views
1

私は読み取り専用の権利を持つ既存のデータベースを使用しています。 テーブル間の関係(has_one、has_manyなど)を定義したいと思います。 以下のサイトをセットアップするために、これらの関係の移行の例を与える:私の質問があるRails:ここで移行が必要ですか?

http://www.theodinproject.com/ruby-on-rails/active-record-associations

http://guides.rubyonrails.org/association_basics.html

を、レールのニーズ "セットアップにこれらの移行、既存のDB上の関係はありません..モデルファイルの定義は十分であるか?

ありがとうございました。

+0

それは完全に既存のDBに依存します。既存のDBにプライマリキーと外部キー(必要な場合)を持つ適切なスキーマがあれば、モデル内の関係を設定するだけです。しかし、既存のDBについての知識がないため、実際には「はい」または「いいえ」と言うことはできません。 – max

答えて

0

データベースに既に外部キー(order_idのようなフィールド)があるかどうか確認してください。

そうでない場合は、関連付けを定義する前に移行を記述する必要があります。あなたがRailsの4を使用している場合、彼らはこのようになります。

class AddGroupToPeople < ActiveRecord::Migration 
    def change 
    add_reference :people, :group, index: true 
    add_foreign_key :people, :groups 
    end 
end 

をこのガイドを使用してください:http://guides.rubyonrails.org/active_record_migrations.html

関連する問題