我使用postgresql 9.3,Ruby 2.0,Rails 4.0.0。在Rails 4迁移中设置自定义主键的问题
的SO关于设置主键上表中读取许多问题之后,我产生并添加以下迁移:
class CreateShareholders < ActiveRecord::Migration
def change
create_table :shareholders, { id: false, primary_key: :uid } do |t|
t.integer :uid, limit: 8
t.string :name
t.integer :shares
t.timestamps
end
end
end
我还添加了self.primary_key = "uid"
到我的模型。
迁移成功运行,但是当我使用pgAdmin III连接到数据库时,我发现uid列未设置为主键。我错过了什么?
这正是我错过了这个问题写。虽然我能够做到这一点,但我想知道是否有方法以“自然”方式实现此目的,即不执行直接的SQL查询。尽管如此,由于没有其他建议,我接受这是最好的答案。 :) –
我想我找到了自然的方式。请参阅更新。 – peresleguine
但是这种情况下主键的类型是什么?我需要它是bigint。 –