誰かが次のことの違いを教えてください。
- デフセルフアップ
- デフアップ
- def self.down
- デフダウン
self.up
またup
、移行時に移行によって実行されるコードが含まれていますrake db:migrate
。self.up
の古いバージョンですup
。彼らがこれをいつ導入したかはわかりませんが、3.0 まではself.up
.
self.down
down
メソッドの効果を逆にするコードを含める必要がありますup
。そのため、 でテーブルを作成した場合は、up
そのテーブルを でドロップする必要がありますdown
。これらのメソッドは、実行時に呼び出されますrake db:rollback
。
実際にchange
は、テーブルの作成など、実行していることの反対をレールが簡単に判断できる場合に通常使用される、移行に関する新しいメソッドが呼び出されます。
def self.up
はクラスメソッドです (クラスに送信できます: Klass.up
)、def up
通常のメソッドです (オブジェクトに送信できます)。ダウンも同じ。