簡體   English   中英

在Rails中使用add_reference時,架構圖中顯示的表之間沒有關系

[英]No relationship between tables shown in schema diagram when using add_reference in Rails

我正在開發一個Rails應用程序,在其中我需要為Rails遷移中的現有列添加一些外鍵,並且也需要很少的人來進行相同的工作。 我添加這種方式:

class AddUserRefToEvents < ActiveRecord::Migration[5.2]
  def change
    add_foreign_key :events, :users, name: :index_events_on_user_id
  end
end

而我的一位同伴正在添加這種方式:

class AddUserToParts < ActiveRecord::Migration[5.0]
  def up
    add_reference :parts, :user
  end

  def down
    remove_reference :parts, :user
  end
end

當我們使用SchemaCrawler構建模式圖時,在用戶和事件之間建立關系(使用add_foreign_key ),但是在用戶和部件之間沒有關系( added add_reference )。

你能告訴我為什么嗎? 我們可以同時使用這兩個(參考此鏈接 )還是僅使用add_foreign_key 請幫忙。

事實是,默認情況下add_reference 不會添加外鍵。 v5.2v5.0的API文檔指出,選項哈希可以包含:foreign_key鍵,以設置適當的外鍵約束。

因此,要使用add_reference只需將您的代碼更改為包括foreign_key: true作為選項。

add_reference :parts, :user, foreign_key: true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM