我使用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。 –