簡體   English   中英

從表中刪除外鍵-Ruby on Rails

[英]Remove foreign key from a table - Ruby on rails

我需要從具有遷移功能的表中刪除外鍵

這是我具有外鍵的表:

class CreatePriceWorkshops < ActiveRecord::Migration
  def change
    create_table :price_workshops do |t|
      t.float :price

      t.timestamps null: false
    end
  end
end

通過此遷移,我創建了外鍵:

class AddTypeMoneysToPriceWorkshops < ActiveRecord::Migration
  def change
    add_reference :price_workshops, :type_money, index: true, foreign_key: true
  end
end

這樣我嘗試刪除外鍵

class RemoveTypeMoneyFromPriceWorkshops < ActiveRecord::Migration
  def change
    remove_column :price_workshops, :type_money_id, :integer
  end
end

您是否按照官方文檔嘗試了remove_foreign_key而不是remove_column

class RemoveTypeMoneyFromPriceWorkshops < ActiveRecord::Migration
  def change
    remove_foreign_key :price_workshops, :type_money
  end
end
class RemoveTypeMoneyFromPriceWorkshops < ActiveRecord::Migration
  def change
    remove_reference(:price_workshops, :type_money, index: true, foreign_key: true)
  end
end

從官方文檔,請在此處查看更多信息

暫無
暫無

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

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