📜  rails 迁移更新列默认值 - Ruby (1)

📅  最后修改于: 2023-12-03 15:34:37.152000             🧑  作者: Mango

Rails 迁移更新列默认值

在 Rails 中,我们可以通过使用迁移(migration)来更新数据库表的结构。在某些情况下,我们可能需要更新某张表中的列的默认值,下面是一些介绍如何使用迁移来更新列默认值的方法。

更新表的列默认值

假设我们有一个名为 users 的表,其中有一个名为 status 的列,我们想要将该列的默认值由 inactive 更新为 active

我们可以使用下面的命令来创建一个新的迁移文件:

rails generate migration UpdateUserStatusDefault

然后打开刚才生成的迁移文件,并使用下面的代码来更新表的列默认值:

class UpdateUserStatusDefault < ActiveRecord::Migration[6.1]
  def change
    change_column_default :users, :status, from: 'inactive', to: 'active'
  end
end

在上面的代码中, 我们使用了 ActiveRecord 提供的 change_column_default 方法,这个方法用来更新表的列默认值,需要传入表名、列名和新的默认值。

最后,我们可以运行下面的命令来执行刚才创建的迁移文件:

rails db:migrate

这个命令会更新数据库中的表结构,将 users 表中的 status 列的默认值修改为 active

总结

使用迁移来更新表的列默认值非常简单,只需要使用 change_column_default 方法,并为其传入表名、列名和新的默认值即可完成。在实际开发中,我们可能会经常遇到需要更新表结构的情况,因此掌握迁移的使用方法是非常重要的。