ruby-on-rails – 什么在Ruby on Rails 3中创建了FOREIGN KEY约束?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 什么在Ruby on Rails 3中创建了FOREIGN KEY约束?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道默认情况下会创建id字段,还需要:PRIMARY KEY(id).

外键怎么样?

我有商店和产品表以及以下协会:

Shop:    has_many :products
Product: belongs_to :shop

在产品中我还有:

t.integer "shop_id"

这意味着是外键,还有:

add_index("products","shop_id")

但是,如果我导出数据库,我只看到:

KEY `index_products_on_shop_id` (`shop_id`)

我该怎么做才能添加

FOREIGN KEY (`shop_id`) REFERENCES Shop(`id`)

解决方法

您可以使用 foreigner gem将外键添加到应用程序中.要开始,请将以下内容添加到Gemfile中
gem "foreigner"

之后,您可以轻松地在迁移中添加外键,如下所示:

add_foreign_key :products,:shops

这会将product.shop_id中的外来添加到shop.id.有关更多选项(如不同命名的键或自引用表),请参阅文档.

猜你在找的Ruby相关文章