Uso postgresql 9.3, Ruby 2.0, Rails 4.0.0.Problemi nell'impostazione di una chiave primaria personalizzata in una migrazione di Rails 4
Dopo aver letto numerose domande su SO per quanto riguarda l'impostazione della chiave primaria su un tavolo, ho generato e aggiunto il seguente migrazione:
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
Ho anche aggiunto self.primary_key = "uid"
per il mio modello.
La migrazione viene eseguita correttamente, ma quando mi collego al DB utilizzando pgAdmin III vedo che la colonna uid non è impostata come chiave primaria. Cosa mi manca?
Questo è esattamente quello che ho perso di scrivere nella questione. Mentre ero in grado di farlo, voglio sapere se c'è un modo per ottenere questo in modo "naturale", cioè senza eseguire query sql dirette. Tuttavia, poiché non ci sono altri suggerimenti, lo accetto come la migliore risposta. :) –
Penso di aver trovato il modo naturale. Si prega di consultare l'aggiornamento. – peresleguine
Ma qual è il tipo di chiave primaria in questo caso? Ho bisogno che sia bigint. –