有人可以解释一下,请问下一件事有什么区别?
答案 0 :(得分:11)
self.up
和up
包含执行rake db:migrate
时迁移所运行的代码。 self.up
是up
的旧版本。我不确定他们什么时候介绍这个,但直到3.0,他们才使用self.up
。
self.down
和down
应包含反转up
方法效果的代码。因此,如果您在up
上创建了一个表格,则应将该表格放在down
上。运行rake db:rollback
时会调用这些方法。
实际上有一种名为change
的迁移新方法,如果rails很容易确定与创建表格相反的方法,通常会使用这种方法。
答案 1 :(得分:4)
def self.up
是一个类方法(您可以将它发送到类:Klass.up
),def up
是一种常规方法(您可以将它发送到对象)。同样下来。