【发布时间】:2021-01-25 15:02:28
【问题描述】:
有一个列类型为 JSON 的旧表,但此列中仅存储数组。
即使我正在存储数组,我也无法使用 ANY 关键字查询该字段(这将适用于 Postgres 中的数组类型列,如 post)
例如:假设 ['Apple', 'Orange', 'Banana'] 在 fruits 列中存储为 Json,我想像 Market.where(":name = ANY(fruits)", name: "Orange") 一样查询并获取所有有橙子的市场。
谁能帮我写一个迁移来将现有的列(类型:Json)更改为数组类型?
【问题讨论】:
-
为什么不使用JSON 运算符/函数?在任何情况下,您都需要展示一个存储内容的示例,以获得任何有用的转换帮助。
-
@AdrianKlaver 我在描述中给出了一个例子。看看有没有帮助
-
这有帮助。还有一个问题,数据类型是
json还是jsonb? -
列类型为json
标签: ruby-on-rails postgresql rails-migrations