将 EAV table 转换为 JSON 更新查询

Convert an EAV table to JSON update query

我有一个简单的 EAV table,我想将其转换为 JSON/B 并将其插入到我将添加到实体 table 的列中。

这旨在用作迁移查询。

我的 EAV :

记录 ( id, ... ) RecInfos (recordid, key, value)

对于记录 table 中的每个条目,它将创建一个 json 表示可以在 RecInfos table 中找到的每个键/值,这将是作为记录 table.

的更新发送

我正在使用 postgresql 10.3

这是我要搜索的内容:

update
    record r
set
    infos = (
                select
                        json_agg(json_build_object('name',i.name,'value',i.value))
                from
                        recinfos i
                where
                        i.rec_id = r.id
            )