2013-02-07 21 views

答えて

10

self.upおよびupには、rake db:migrateを実行したときに移行によって実行されたコードが含まれています。 self.upupの古いバージョンです。彼らはこれを紹介したときにはわからないが、3.0まで、彼らはself.upを使っていた。

self.downおよびdownには、upメソッドの効果を逆転させるコードを含める必要があります。したがって、upにテーブルを作成した場合は、そのテーブルをdownにドロップしてください。これらのメソッドは、rake db:rollbackを実行するときに呼び出されます。

実際には、テーブルの作成のようにレールの反対側を簡単に判断できるのであれば、通常は、changeというマイグレーションに関する新しい方法が使用されます。

+0

ベスト解説!ありがとうございました! –

3

def self.up

  • をするself.downアップ
  • デフ
  • をするself.up(あなたはクラスにそれを送ることができます:Klass.up)のクラスメソッドです、 def upは通常の方法です(オブジェクトに送ることができます)。ダウンにも同じ。