如何在rails 4.0上覆盖ruby中的默认主键列。+?

时间:2016-03-01 19:14:23

标签: ruby-on-rails override primary-key rails-models

我有一个已经存在的数据库模式,其中包含一个字符串列作为主键,还有一些表具有多个列作为键。我想在rails中映射此架构,但我不知道如何覆盖默认主键(由rails框架创建的列ID)。

2 个答案:

答案 0 :(得分:2)

您可以像这样覆盖主键

class Book < ActiveRecord::Base
  self.primary_key = 'author'
end

答案 1 :(得分:0)

我不知道你要做什么。在Rails中改变主键是一个错误。

但就此而言,请尝试在迁移中执行此操作。

class Foos < ActiveRecord::Migration  
    def self.up  
        create_table :foos, :id => false do |t|  
          t.string :my_id
          t.timestamps
        end
    end
end