要改变现有列的默认值,可以使用ActiveRecord的change_column_default
方法。该方法允许您指定要更改的列和新的默认值。
以下是一个示例代码,演示如何使用change_column_default
方法更改现有列的默认值:
class UpdateColumnDefault < ActiveRecord::Migration[6.0]
def change
change_column_default :users, :status, from: nil, to: 'active'
end
end
上述代码将更改名为users
的表中的status
列的默认值。默认情况下,status
列的默认值为nil
,但是我们将其更改为'active'
。
要使用此迁移文件,请将其放在db/migrate
目录中,并运行rails db:migrate
命令。
请注意,如果表中已经存在数据,更改默认值可能不会影响已经存在的记录。如果您希望将默认值应用于所有现有记录,请手动更新数据或编写一个单独的脚本来实现这一点。