Próbuję dodać nową kolumnę "szerokość geograficzna" do istniejącej tabeli Postgres, po kolumnie "location".PostgreSQL: add_column "after" użycie opcji w migracji Railsów
Używając tej składni stawia kolumnę w odpowiednim miejscu:
add_column :table, :column, :decimal, :after => :existing_column
i za pomocą tej składni zapewnia, że pole jest prawidłowy typ danych
add_column :table, :column, :decimal, {:precision => 10, :scale => 6}
Ale gdy próbuję i połączyć dwa :
add_column :table, :column, :decimal, {:precision => 10, :scale => 6}, :after => :existing_column
Otrzymuję "ArgumentError: niepoprawna liczba argumentów (5 dla 3..4)"
„Nie martw się”, pomyślałem, „Ja po prostu połączyć arguements!”:
add_column :table, :column, :decimal, {:precision => 10, :scale => 6, :after => :existing_column}
Ale wtedy kolumny pojawiają się na końcu tabeli. Co ja robię źle?
Dzięki :)
[Kolejność kolumn jest całkowicie nieistotna w relacyjnych bazach danych] (http://stackoverflow.com/questions/1243547/how-to-add-a-new-column-inable-- table - po drugiej-trzeciej-trzeciej-kolumny-w-stole) – dax
Tak, jestem tego świadomy, ale lubię utrzymywać podobne rzeczy razem z czysto psychicznego punktu widzenia ... –
w metodzie 'add_column' nie ma takiej opcji': after =>: existing_column'. dozwolone opcje, które można znaleźć w [dokumentacji tej metody] (http://apidock.com/rails/ActiveRecord/ConnectionAdapters/SchemaStatements/add_column#637-Options) –