迁移以创建默认值

时间:2014-05-09 11:54:26

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 migration

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

提前致谢

2 个答案:

答案 0 :(得分:2)

运行

rails g migration add_default_value_to_table

然后在迁移文件中

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作为示例,您可以对任何数据类型的列执行此操作

答案 1 :(得分:1)

要回滚特定的迁移: -

rake db:migrate:down VERSION=20080906120000

然后编辑迁移并将默认值添加到该字段并再次以

运行迁移
rake db:migrate:up VERSION=20080906120000