我在之前的迁移中创建了一个日期列,并将其设置为可为空。现在我想将其更改为不可为空。假设该数据库中有空行,我该怎么做?如果它们当前为空,我可以将这些列设置为 Time.now。
如果你在迁移中这样做,那么你可能会这样做:
# Make sure no null value exist MyModel.where(date_column: nil).update_all(date_column: Time.now) # Change the column to not allow null change_column :my_models, :date_column, :datetime, null: false