迁移以创建默认值

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

提前致谢

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

要回滚特定的迁移: –

 rake db:migrate:down VERSION=20080906120000 

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

 rake db:migrate:up VERSION=20080906120000