Ruby on Rails 添加具有默认值的列
示例
以下示例将一列添加admin到users表中,并为该列提供默认值false。
class AddDetailsToUsers < ActiveRecord::Migration[5.0]def change
add_column :users, :admin, :boolean, default: false
end
end
在带有PostgreSQL的大型表中,使用默认设置进行迁移可能会花费很长时间。这是因为每行都必须使用新添加的列的默认值进行更新。为了避免这种情况(并减少部署期间的停机时间),您可以将迁移分为三个步骤:
添加与add_column上面类似的-migration,但不设置默认值
在应用程序运行时,在rake任务中或在控制台上部署和更新列。确保您的应用程序已将数据写入该行的新行/更新行。
添加另一个change_column迁移,然后将该列的默认值更改为所需的默认值
以上是 Ruby on Rails 添加具有默认值的列 的全部内容, 来源链接: utcz.com/z/330639.html