Rails中的默认rails id列名

时间:2014-08-11 12:44:24

标签: ruby-on-rails

我想重命名专栏id,我该怎么做?

我想将number设置为主键并自动增加,将id设置为仅用户ID字符串。

我该怎么办?

class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.string :user

      t.timestamps
    end

    rename_column :users, :id, :number
  end
end

我上面确实喜欢,但它没有用。

1 个答案:

答案 0 :(得分:0)

即使我不推荐它,我猜你也可以这样做:

在您的迁移中:

def up
  create_table :users, id: false do |t|
    t.string :user
    t.integer :number, null: false, index: true, unique: true
    t.timestamps
  end
  execute %Q{ ALTER TABLE "users" ADD PRIMARY KEY ("number"); }
end

def down
  drop_table :users
end

在您的模型中:

self.primay_key = 'number'