postgres中的sql:
create schema temp;
set search_path = temp;
create table item
(
id INT generated by default as identity primary key
);
create table tag
(
id INT generated by default as identity primary key,
name VARCHAR(160),
item_id INT references item (id)
);
create view item_tags as
select id,
(
select
array_to_json(array_agg(row_to_json(taglist.*))) as array_to_json
from (
select tag.name, tag.id
from tag
where item_id = item.id
) taglist ) as tags
from item ;
-- golang query this maybe
select row_to_json(row)
from (
select * from item_tags
) row;
select row_to_json(row)
from (
select * from item_tags
) row;
并解组结构:
优点:
postgres管理数据关系。使用sql函数添加/更新数据。
golang管理业务模型和逻辑。
这是简单的方法。
。