Używam PostgreSQL 9.3, Ruby 2.0, Rails 4.0.0.Problemy z ustawianiem niestandardowego klucza podstawowego w migracji Rails 4
Po przeczytaniu liczne pytania na SO dotyczące ustalania klucza podstawowego w tabeli I generowane i dodawane następujące migracji:
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
Dodałem też self.primary_key = "uid"
do mojego modelu.
Migracja powiodła się, ale po połączeniu się z bazą danych przy użyciu pgAdmin III widzę, że kolumna uid nie jest ustawiona jako klucz podstawowy. czego mi brakuje?
To dokładnie to, czego brakowało mi napisać w pytaniu. Chociaż udało mi się to zrobić, chcę wiedzieć, czy istnieje sposób osiągnięcia tego w "naturalny" sposób, czyli bez wykonywania bezpośrednich kwerend sql. Niemniej jednak, skoro nie ma żadnych innych sugestii, przyjmuję to jako najlepszą odpowiedź. :) –
Myślę, że znalazłem sposób naturalny. Zobacz aktualizację. – peresleguine
Ale jaki jest typ klucza głównego w tym przypadku? Potrzebuję, żeby to był bigint. –