新增自我引用

自引用可用於構建分層樹。這可以通過遷移中的 add_reference 來實現。

class AddParentPages < ActiveRecord::Migration[5.0]
  def change
    add_reference :pages, :pages
  end
end

外來鍵列將是 pages_id。如果要確定外來鍵列名稱,則必須先建立列,然後新增引用。

class AddParentPages < ActiveRecord::Migration[5.0]
  def change
    add_column :pages, :parent_id, :integer, null: true, index: true
    add_foreign_key :pages, :pages, column: :parent_id
  end
end