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