添加自我引用

自引用可用于构建分层树。这可以通过迁移中的 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