Die Methode up
sollte von einer down
-Methode begleitet werden, die zum Rückgängigmachen der Änderungen der Migration verwendet werden kann. wenn Sie das Beispiel in Ihrer Frage schreiben mit bis zum Beispiel, und nach unten würden Sie den folgenden Code benötigen:
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
Die change
Methode, auf der anderen Seite kann automatisch durch Rails umgekehrt werden, so gibt es keine Notwendigkeit, manuell Erstellen Sie eine down
Methode.
change
war einführen up
und down
zu ersetzen, weil die meisten down
Methoden leicht auf der Grundlage der up
Verfahren vorhergesagt werden konnte (im Beispiel oben drop_table
ist eindeutig das Gegenteil von create_table
).
In Situationen, in denen der umgekehrte Vorgang nicht automatisch abgeleitet werden, können Sie entweder die up
und down
Methoden oder die reversible
Methode von Ihrem change
Methode aufrufen.
Weitere Informationen finden Sie unter sections 3.6 - 3.7 of the Rails migration guide.