通过迁移向列添加默认值

如何将默认值添加到已通过迁移存在的列中?

我可以找到的所有文档都向您展示了如何在列尚不存在的情况下执行此操作,但在这种情况下它确实存在。


以下是你应该这样做的方法:

change_column :users, :admin, :boolean, :default => false

但是一些数据库,如PostgreSQL,不会更新先前创建的行的字段,所以请确保您也在迁移过程中更新字段。


change_column_default :employees, :foreign, false


对于Rails 4+,请use change_column_default

  def change
    change_column_default :table, :column, value
  end

这是change_column_default文档的链接。

链接地址: http://www.djcxy.com/p/47185.html

上一篇: Add a default value to a column through a migration

下一篇: How to change a nullable column to not nullable in a Rails migration?