[英]specifying customer foreignkey column name using foreigner gem
我有2個模型,員工和用戶具有has_one,belongs_to關系。 用戶表具有“登錄”列,該列僅需為employee表中的“ emp_id”值。 我嘗試通過以下遷移來捕獲這種關系:
class AddFkToUsers < ActiveRecord::Migration
def change
add_foreign_key( :users, :employees, :source_column => :login, :foreign_column
=> :emp_id )
end
end
但是當我嘗試運行此遷移時,出現錯誤消息:
Mysql2::Error: Key column 'employee_id' doesn't exist in table: ALTER TABLE `users`
ADD CONSTRAINT `users_employee_id_fk` FOREIGN KEY (`employee_id`) REFERENCES
`employees`(id)/home/vasu/.rvm/gems/ruby-1.8.7-p371/gems/activerecord-
3.2.9/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:245:in `query'
我以為也可以指定外部列名稱,這是不可能的嗎?
至少對於外國人版本1.6.0,我認為適合您的情況的正確語法是:
add_foreign_key(:users, :employees, :column => 'login', :primary_key => 'emp_id')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.