Ruby on rails 迁移以创建默认值

Ruby on rails 迁移以创建默认值,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-4,migration,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 4,Migration,所以 我想知道我们是否可以编写一个新的迁移来设置已经创建的字段的默认值。我知道如何编写、编辑旧迁移并设置其默认值。我想这样做,因为我已经做了这么多迁移,我现在不能回滚并编辑该文件。 还有,有没有办法回滚到特定的迁移 提前感谢回滚特定迁移:- rake db:migrate:down VERSION=20080906120000 然后编辑迁移并将默认值添加到该字段,然后按如下所示再次运行迁移 rake db:migrate:up VERSION=20080906120000 要回滚特定迁移,请

所以 我想知道我们是否可以编写一个新的迁移来设置已经创建的字段的默认值。我知道如何编写、编辑旧迁移并设置其默认值。我想这样做,因为我已经做了这么多迁移,我现在不能回滚并编辑该文件。 还有,有没有办法回滚到特定的迁移


提前感谢

回滚特定迁移:-

rake db:migrate:down VERSION=20080906120000
然后编辑迁移并将默认值添加到该字段,然后按如下所示再次运行迁移

rake db:migrate:up VERSION=20080906120000

要回滚特定迁移,请执行以下操作:-

rake db:migrate:down VERSION=20080906120000
然后编辑迁移并将默认值添加到该字段,然后按如下所示再次运行迁移

rake db:migrate:up VERSION=20080906120000

要回滚特定迁移,请执行以下操作:-

rake db:migrate:down VERSION=20080906120000
然后编辑迁移并将默认值添加到该字段,然后按如下所示再次运行迁移

rake db:migrate:up VERSION=20080906120000

要回滚特定迁移,请执行以下操作:-

rake db:migrate:down VERSION=20080906120000
然后编辑迁移并将默认值添加到该字段,然后按如下所示再次运行迁移

rake db:migrate:up VERSION=20080906120000

然后在迁移文件中

def up
    change_column :table_name, :column_name, :string, :default => "abcd"
end

def down
    change_column :table_name, :column_name, :string, :default => nil
end
我以数据类型
string
为例,您可以对任何数据类型运行的列执行此操作

然后在迁移文件中

def up
    change_column :table_name, :column_name, :string, :default => "abcd"
end

def down
    change_column :table_name, :column_name, :string, :default => nil
end
我以数据类型
string
为例,您可以对任何数据类型运行的列执行此操作

然后在迁移文件中

def up
    change_column :table_name, :column_name, :string, :default => "abcd"
end

def down
    change_column :table_name, :column_name, :string, :default => nil
end
我以数据类型
string
为例,您可以对任何数据类型运行的列执行此操作

然后在迁移文件中

def up
    change_column :table_name, :column_name, :string, :default => "abcd"
end

def down
    change_column :table_name, :column_name, :string, :default => nil
end


我以数据类型
string
为例,您可以对任何数据类型的列执行此操作

如果您不介意的话,可以告诉我此def down的作用是什么吗?如果您想通过键入命令
rake db:rollback
将列回滚到以前的状态,请使用def
down
方法,定义与否由您决定如果您不介意的话,您可以告诉我这个def down做了什么吗如果您想通过键入command将列回滚到以前的状态,请使用def
down
方法,定义与否由您决定如果您不介意的话,您可以告诉我这个def down做了什么吗如果您想通过键入command将列回滚到以前的状态,请使用def
down
方法,定义与否由您决定如果您不介意的话,您可以告诉我这个def down做了什么吗如果您想通过键入command将列回滚到以前的状态,请使用def
down
方法,这取决于你是否要定义它,所以如果我在我的系统中这样做,并将其上传到git中,并且拥有相同代码的人会拉取迁移文件,会发生什么情况。。如果他运行rake db:migrate,这在他的系统中会起作用吗?不,如果迁移已经完成,他也需要做同样的事情。是的,只有当您以前没有提交迁移时,它才会起作用。否则,所有人都必须执行相同的步骤。那么,如果我在我的系统中这样做,并将其上载到git中,并且拥有相同代码的人提取迁移文件,会发生什么呢。。如果他运行rake db:migrate,这在他的系统中会起作用吗?不,如果迁移已经完成,他也需要做同样的事情。是的,只有当您以前没有提交迁移时,它才会起作用。否则,所有人都必须执行相同的步骤。那么,如果我在我的系统中这样做,并将其上载到git中,并且拥有相同代码的人提取迁移文件,会发生什么呢。。如果他运行rake db:migrate,这在他的系统中会起作用吗?不,如果迁移已经完成,他也需要做同样的事情。是的,只有当您以前没有提交迁移时,它才会起作用。否则,所有人都必须执行相同的步骤。那么,如果我在我的系统中这样做,并将其上载到git中,并且拥有相同代码的人提取迁移文件,会发生什么呢。。如果他运行rake db:migrate,这在他的系统中会起作用吗?不,如果迁移已经完成,他也需要做同样的事情。是的,只有当您以前没有提交迁移时,它才会起作用。否则,所有人都必须执行相同的步骤。