0

最近、2 つのテーブル間の関係が間違っていることがわかりました。必要な変更を加えたいと考えています。これには、調整テーブルに外部キーをドロップし、ユーザー テーブルに外部キーを追加することが含まれます。

以下を使用して移行ファイルを作成しました。

rails g migration ForeignKeyAdjustment

次に、これを新しい移行ファイルに追加しました。

class ForeignKeyAdjustment < ActiveRecord::Migration
  def self.up
    remove_column :accommodations, :user_id
    add_column :users, :accommodation_id, :integer
  end
end

次に、次を使用して移行を実行しました。

bundle exec rake db:migrate

次に、コンソールを使用して各テーブルの列名を確認しましたが、変更が反映されていません!

rails console

User.column_names

私は何が欠けていますか?

ps モデルとデータベース移行ファイルを削除し、ターミナルから新しいモデルを生成した場合、大きな問題になりますか? それほど時間はかからず、考慮すべき重要なデータもありません。

4

1 に答える 1

0

Active Record の関連付けを確立しましたか? これにより、あるテーブルから別のテーブルにレコードをマップできます。それ以外の場合、列名はテーブル内の任意の名前です。

モデルに外部キー属性を追加しましたか? これにより、 attr にアクセス可能な既存のモデルの属性が作成されます

これらは潜在的な問題の一部である可能性があります

関連ガイド http://guides.rubyonrails.org/association_basics.html

また、質問のタイトルを「外部キーの移行」などに編集して、他の人が同様の質問に対する回答を見つけられるようにします。

于 2013-09-03T20:34:12.107 に答える