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迁移,然后将该列的默认值更改为所需的默认值
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下