gpt4 book ai didi

mysql - 使用foreign gem 指定自定义外键列名称

转载 作者:行者123 更新时间:2023-11-30 01:12:13 24 4
gpt4 key购买 nike

我有 2 个模型,员工和用户,具有 has_one、belongs_to 关系。用户表有一个“login”列,该列只需是员工表中的“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')

关于mysql - 使用foreign gem 指定自定义外键列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19381333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com