gpt4 book ai didi

ruby-on-rails - 需要在 belongs_to/has_many 关系的迁移中使用 add_index 吗? (Rails 3.2,事件记录)

转载 作者:数据小太阳 更新时间:2023-10-29 06:56:35 24 4
gpt4 key购买 nike

我的问题很简单,但我没有找到明确的答案。

我构建了一个每日交易 Rails 应用程序。

  • 每笔交易有很多产品 (has_many)

  • 每个产品都属于一笔交易

以下来自 Rails Guides 的 2.3 ,我将在我的迁移中使用它:

   class CreateDeal < ActiveRecord::Migration
def change
create_table :deals do |t|
t.string :name
t.timestamps
end

create_table :products do |t|
t.belongs_to :Deal
t.timestamps
end
end
end

Rails/active records 会自动在 Product Table 中添加 deals_id 列,对吧?

我是否需要通过添加到我的迁移 add_index 手动在此 deals_id 列上添加索引(如下所示),还是由于我设置的 belongs_to/has_many 关系而“自动”完成?

create_table :products do |t|
t.belongs_to :Deal
t.timestamps

add_index :products, :deals_id
end

最佳答案

您确实需要自己添加索引...但是,如果您使用模型的命令行生成器并使用 belongs_to,Rails 会将索引添加到迁移中...

例如

rails g model product deal:belongs_to

会产生

class CreateProducts < ActiveRecord::Migration
def change
create table :products do |t|
t.belongs_to :deal

t.timestamps
end
add_index :products, :deal_id
end
end

关于ruby-on-rails - 需要在 belongs_to/has_many 关系的迁移中使用 add_index 吗? (Rails 3.2,事件记录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18673193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com