📅  最后修改于: 2023-12-03 15:34:37.152000             🧑  作者: Mango
在 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
方法,并为其传入表名、列名和新的默认值即可完成。在实际开发中,我们可能会经常遇到需要更新表结构的情况,因此掌握迁移的使用方法是非常重要的。