Metoda powinna być opatrzona metodą up
, której można użyć do cofnięcia zmian migracji. Na przykład, jeśli napisał przykład w swoim pytaniu użyciu górę iw dół musisz następujący kod:
class CreateTweets < ActiveRecord::Migration
def up
create_table :tweets do |t|
t.string :status
t.integer :zombie_id
t.timestamps
end
end
def down
drop_table :tweets
end
end
Sposób change
, z drugiej strony, może być odwrócone automatycznie przez Rails, więc nie ma potrzeby ręcznego utwórz metodę down
.
change
było wprowadzić do zastąpienia up
i down
ponieważ większość down
metody można łatwo przewidzieć na podstawie metody up
(w powyższym przykładzie drop_table
jest wyraźnie przeciwieństwem create_table
).
W sytuacjach, gdzie odwrotna operacja nie może być automatycznie pochodzące, można użyć metod up
i down
, lub wywołać metodę reversible
od wybranej metody change
.
Aby uzyskać więcej informacji, zobacz numer sections 3.6 - 3.7 of the Rails migration guide.