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迁移,然后将该列的默认值更改为所需的默认值
热门推荐
2 红丝绒戚风蛋糕
3 夹心小甜点
4 南瓜甜点
6 粘米粉蒸蛋糕
7 酸奶华夫饼
9 红柚鸡蛋糕
10 葡萄干蛋糕
11 紫薯蛋糕卷
13 纸杯裱花小蛋糕
14 果酱奶酪蛋糕
15 日式樱花蔓越莓大福
16 草莓蛋糕卷
17 卡仕达长崎杯子蛋糕