Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails迁移-what';It’自上而下是什么意思_Ruby On Rails_Ruby On Rails 3_Ruby On Rails 3.1_Rake - Fatal编程技术网

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正好相反