在Rails应用程序中创建自定义主键

时间:2015-09-15 06:35:22

标签: ruby-on-rails oracle11g primary-key

在我使用Oracle数据库(版本11g)的Rails应用程序中,我需要主键为Shutting down,而不是String。例如,在我的Integer模型中,我需要主键,例如Product"p001"等。

1 个答案:

答案 0 :(得分:1)

class AddProductWithDifferentPrimaryKey < ActiveRecord:Migration
  def change
    create_table :table, id: false do |t|
      t.string :id, null: false
      # other columns
      t.timestamps
    end
    execute "ALTER TABLE table ADD PRIMARY KEY (id);"
  end
end

不要忘记将此行添加到您的表格模型中,以便rails知道如何找到新的主键!

class Product < ActiveRecord::Base
  self.primary_key = :id

  # rest of code
end

希望这会有所帮助。信用应该去   A K H

有关更多信息,您可以查看他的以及其他答案。 primary key info