如何使用'append'函数更新数组字段值

时间:2017-11-09 07:08:01

标签: ruby-on-rails sqlite

在数据库中,我在模型中有一个带有serialize函数的数组字段is_deleted。我想在数据库字段中追加数组值。这是postgresql中使用的函数。

Message.update_all(['is_deleted = array_append(is_deleted, ?)', 2])

如何使用sqllite数据库完成?

1 个答案:

答案 0 :(得分:1)

您需要在模型中添加serialize

Class Message < ActiveRecord::Base
  serialize :is_deleted, Array
end

如果您希望使用列来存储数组,那么它应该是column_type字符串或text

Message.all.each { |m| m.update_attribute(:is_deleted, m.is_deleted.push(2)) }