ruby-on-rails – 如何在rails迁移时在ruby中设置主键?

如何为我的IdClient字段设置主键?我已经尝试了所有方法,但我会得到错误(rails 3.0.9)…你能帮助我吗?
class CreateCustomers < ActiveRecord::Migration
  def self.up
    create_table :customers do |t|
      t.integer :IdCustomer
      t.string :username
      t.string :crypted_password
      t.string :password_salt
      t.string :persistence_token
      t.string :email
      t.string :Skype
      t.string :ICQ
      t.string :Firstname
      t.string :Lastname
      t.string :Country
      t.string :State
      t.string :City
      t.string :Street
      t.string :Building
      t.integer :Room
      t.string :AddressNote
      t.date :DateOfReg
      t.integer :CustGroup
      t.float :TotalBuy

      t.timestamps
      add_index(:customers,:IdCustomer,:unique => true)
    end
  end

  def self.down
    drop_table :customers
  end
end

还有如何在模型中设置关系?

解决方法

不要这样做.使用内置id字段作为主键.如果你打算使用Rails,你应该以“Rails方式”构建你的应用程序,除非你有充分的理由不这样做.

如果您确实想这样做,可以将:primary_key选项传递给create_table

create_table :customers,:primary_key => :idClient do |t|
  # ...
end

您还需要通过self.primary_key =“idClient”告诉您的模型其主键的名称

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...