ruby-on-rails - 使用rails迁移生成器添加外键

标签 ruby-on-rails activerecord ruby-on-rails-4.2

rails 4.2.4
ruby 2.2.1

要自动生成国家/地区迁移,我会这样做:

rails g migration CreateCountry abbreviation:string status:string search_operations_id:integer

我想向生成的迁移文件添加外键:

add_foreign_key :countries, :search_operations, on_delete: :cascade

如何使用 Rails g 迁移命令来做到这一点?

最佳答案

您实际上可以直接说:

,而不是在迁移中手动添加 search_operations_id
rails g migration CreateCountry ... search_operations:references

当 Rails 生成迁移时,您应该看到如下内容:

class CreateCountry < ActiveRecord::Migration
  def change
    ...
    add_reference :countries, :search_operations, index: true
    add_foreign_key :countries, :search_operations
  end
end        

关于ruby-on-rails - 使用rails迁移生成器添加外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33073089/

相关文章:

ruby-on-rails - 升级到 Rails 4.2.6 : rake db:migrate inserting column limits into schema. rb

ruby-on-rails - 从数据库中提取一些配置变量以在 Rails 环境中动态设置?

ruby-on-rails - 过滤查询中包含的 Rails 模型的结果

ruby-on-rails - Rails,如何在模型中渲染 View /部分

ruby-on-rails - 给定一个 Model.title,如何最好地查询首字母 = X 的所有记录

ruby-on-rails - Rails 模型属性(property)位置

ruby-on-rails - 如何在我的 Heroku Rails 应用程序中显示 'last-deployed' 时间戳?

javascript - 如何将无尽滚动添加到我的应用程序 Rails 4 中

ruby-on-rails - 过滤 has_many/belongs_to 关系的子项,并获取其所有父项

ruby-on-rails - 使用 simple_form 设计重定向并在失败时显示错误消息