加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3 – 如何在Rails 3中将值设置为新列?

发布时间:2020-12-17 02:41:39 所属栏目:百科 来源:网络整理
导读:这可能是另一个问题,但我找不到. 我是Rails的亲戚.我正在尝试将新列添加到已包含数据的表中.此列不允许空值.更新所有现有记录以在此新列中具有值的最简单方法是什么?我知道它可能在我的迁移的最后一块,但我不知道语法是什么. def self.up change_table :rem
这可能是另一个问题,但我找不到.

我是Rails的亲戚.我正在尝试将新列添加到已包含数据的表中.此列不允许空值.更新所有现有记录以在此新列中具有值的最简单方法是什么?我知道它可能在我的迁移的最后一块,但我不知道语法是什么.

def self.up
  change_table :reminders do |t|
    t.boolean :active
  end
  #model name is Reminder - how to update data with a value?
end

解决方法

您可以做的是添加列,使用所需的值更新表中的所有记录,然后将其更改为不允许空值.

def self.up
  add_column :reminders,:active,:boolean,:default => true
  Reminder.update_all( "active = ?",true )
  change_column :reminders,:default => true,:null => :false
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读