2011-09-29 9 views
5

レールを学習して、マイグレーションしています。Rails 3はマイグレーションを生成します - 上向きまたは下向きのメソッドなし

rails generate migration AddRegionToSupplier 

上記の例では、「変更変更」メソッドのみを含む移行ファイルが作成されています。

私はこれを見つけて、これがまさに起こるはずのものであることを発見しました。

http://guides.rubyonrails.org/migrations.html

移行をロールバックすることができるように、私は、それが「DEFアップ」と「DEFダウン」メソッドを生成すると予想しているでしょう。世代に間違ったことをしたことがありますか? link you pastedから

+1

あなたはあなたに挑戦してもらえませんか私にもたくさん起こります。 – corroded

答えて

16

のRails 3.1は、新しいchange方法を提供することにより、移行賢くなります。 この方法は、建設的な移行(列またはテーブルを追加する )の作成に適しています。 移行では、データベース を移行する方法を知っており、移行をロールバックするときに逆の方法を使用して を別途作成する必要はありません。

あなたはRailsは今それをロールバックする方法を知っているのに十分にスマートであるようdef self.downを持っていることについて心配する必要はありませんのようなので、それが見えます。

+1

私はこの答えが好きです。シンプルで簡潔です。 :) Railsは、それを処理するためのダウンメソッドがない場合、どのようにマイグレーションを元に戻すかを知っていますか?このデータを追跡するためにいくつかの追加データがどこかに保存されていますか? – skcin7