我有一个表的列是使用以下 ruby on rails 迁移创建的
def change
add_column :matches, :st_history, :smallint, array: true, default: []
end
在 postresql 数据库上。我希望将列的所有值重置为默认值。我试过了
Match.update_all(st_history: [])
但这不会改变任何字段。看着 api documentation ,它声明“它应该只接收可以按原样传递给 SQL 数据库的值”,因此我怀疑该数组是一种复杂的数据类型,无法使用简单的 update_all 命令。数据库有数百万行,所以我不想单独更新每一行。执行此操作的快速方法是什么?
最佳答案
这确实有效。只需要重新加载。
关于ruby-on-rails - 如何使用 postgresql 和 ruby on rails 更新类型数组的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46398295/