我在 Rails 上有这些模型:
class Tweet < ActiveRecord::Base
attr_accessible :status
belongs_to :user
end
class User < ActiveRecord::Base
attr_accessible :name
has_many :tweets
end
但在 bd 上,这些模型之间没有关系。我需要进行哪些迁移才能将 user_id 添加到推文表中?
我在 Rails 上有这些模型:
class Tweet < ActiveRecord::Base
attr_accessible :status
belongs_to :user
end
class User < ActiveRecord::Base
attr_accessible :name
has_many :tweets
end
但在 bd 上,这些模型之间没有关系。我需要进行哪些迁移才能将 user_id 添加到推文表中?
您需要将其添加user_id
到您的Tweet
模型中,然后在您的模型中您可以执行以下操作:
跑rails g migration add_user_id_to_tweets user_id:integer
这将为您提供以下输出
class AddUserIdToTweet < ActiveRecord::Migration
def change
add_column :tweets, :user_id, :integer
end
end
有要运行的迁移:
change_table :tweets do |t|
t.references :user
end
这将在表中添加一个名为user_id
的列tweets
。(不要忘记运行rake db:migrate
更新数据库!)
(ActiveRecord::ConnectionAdapters::SchemaStatements)的文档change_table
- APIdock