Występuje frustrujący problem, w którym moje migracje railsowe aktualizują schemat z białymi znakami i pozycją kolumn tabeli.Migracja Railsy zawsze wstawia białe znaki lub zmienia kolejność kolumn w schemacie.
Tak więc najczęściej, gdy uruchamiam bundle exec rake db:migrate
, zrobi on jeden z poniższych scenariuszy. Kiedy scalę to z naszą główną gałęzią, a inni programiści to odtworzą, wtedy ich migracja railsów odwróci tabulatory i uporządkowanie pozycji.
Zauważyliśmy, że wszyscy trzej programiści w zespole mają taki sam problem podczas migracji, jeśli byłem ostatnim uczestnikiem schematu.
Właśnie zaktualizowałem postgres to v9.2.4
, który jest taki sam jak innych programistów. Jakieś pomysły na to, co jeszcze mógłbym spróbować?
Przykłady
Poniżej diffs git aby wykazać, co się dzieje.
Przykład ponownego zamawiania schematu:
create_table "accounts", :force => true do |t|
t.integer "organisation_id"
- t.boolean "active", :default => false
t.text "notes"
+ t.boolean "active", :default => false
end
Przykład dodawania zakładek do schematu:
create_table "comments", :force => true do |t|
- t.integer "commentable_id", :default => 0
- t.string "commentable_type", :default => ""
+ t.integer "commentable_id", :default => 0
+ t.string "commentable_type", :default => ""
- t.datetime "created_at", :null => false
- t.datetime "updated_at", :null => false
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
Co powoduje, że białe znaki są tabulatory? Czy jest szansa zobaczenia całości przed i po wersjach jednej z tych opcji 'create_table's? –
@muistooshort Dzięki, mogą to być białe znaki – Coderama
Pierwsza z nich oznacza po prostu, że nie wszystkie kolumny znajdują się w tej samej kolejności wewnątrz bazy danych, należy porównać dane wyjściowe '\ d accounts' w' psql', a znajdziesz winnego; może się to zdarzyć na różne sposoby i nie powinno stanowić problemu. Drugi prawdopodobnie jest po prostu spozycjonowaniem (tzn. Ustawia wszystkie opcje ': default => ...'), ale trudno jest stwierdzić, czy nie widzimy całej przed i po plikach 'schema.rb'. –