Ruby on rails Rails迁移-what';It’自上而下是什么意思
我想知道这些是什么意思:Ruby on rails Rails迁移-what';It’自上而下是什么意思,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.1,rake,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.1,Rake,我想知道这些是什么意思: class ChangeTimeColumns < ActiveRecord::Migration def self.up end def self.down end end classchangetimecolumns
class ChangeTimeColumns < ActiveRecord::Migration
def self.up
end
def self.down
end
end
classchangetimecolumns
因为有时候Rails会创建如下迁移:
class ChangeTimeColumns < ActiveRecord::Migration
def change
end
end
classchangetimecolumns
如果您有任何疑问,我们将不胜感激。因此,如果您犯了错误,您可以撤消迁移
rake db:rollback #this will rollback the most recent migration
rake db:rollback STEP=3 #this will rollback 3 of them
我将self.up和self.down添加到所有迁移中,如果存在无法反转的迁移,则不能在down中包含down或引发异常。查看本指南第4.1节==>在当前版本的rails之前,self.up和self.down是标准格式,即在rails 3.0.x中
self.up用于定义在
rake db:migrate
上应该发生的行为,其中as self.down定义了rake db:rollback
的行为。更改是相对较新的,通常用于可以简单地推断self.down行为的地方。在self.up中执行的每次插入、更新等操作,在self.down中都会执行相反的操作
如果以后由于错误而必须回滚这些迁移,这一点很重要。Self.up使任何模型都能够将属性插入到写入其中的模型表中 而self.down正好相反