如何在数据库中找到已解决的话题

自从我将我的Discourse更新到版本3.5.0.beta3-dev之后,我搜索已解决主题的查询似乎不再正常工作。

要查找已解决的主题,我通常会查询表topic_custom_fields,查找列name是否包含accepted_answer_post_id

select 
users.username,count(distinct assignments.topic_id) obaveza
from assignments
inner join users on assignments.assigned_to_id=users.id
inner join topics on assignments.topic_id=topics.id
inner join categories on topics.category_id=categories.id
left outer join topic_custom_fields on topics.id=topic_custom_fields.topic_id and topic_custom_fields.name='accepted_answer_post_id'
where assignments.active=true
and assigned_to_type='User'
and deleted_at is null
and topics.closed=false
and topic_custom_fields.value is null
group by users.username
order by obaveza desc

但现在看起来,topic_custom_fields表没有包含accepted_answer_post_id的行。

现在我应该去哪里查找已解决/未解决的主题?

这是我的json查询

{
    "query": {
        "id": 12,
        "name": "Broj obaveza po krosniuku gurpisano",
        "description": "Ovo je broj obaveza po korisku grupisan",
        "username": "admir",
        "group_ids": [47],
        "last_run_at": "2025-04-30T13:07:43.405Z",
        "user_id": 5,
        "sql": "\r\n\r\nselect \r\nusers.username,count(distinct assignments.topic_id) obaveza\r\nfrom assignments\r\ninner join users on assignments.assigned_to_id=users.id\r\ninner join topics on assignments.topic_id=topics.id\r\ninner join categories on topics.category_id=categories.id\r\nleft outer join topic_custom_fields on topics.id=topic_custom_fields.topic_id and topic_custom_fields.name='accepted_answer_post_id'\r\nwhere assignments.active=true\r\nand assigned_to_type='User'\r\nand deleted_at is null\r\nand topics.closed=false\r\nand topic_custom_fields.value is null\r\ngroup by users.username\r\norder by obaveza desc",
        "param_info": [],
        "created_at": "2023-08-29T13:15:17.015Z",
        "hidden": false
    }
}

很抱歉打开主题,我发现需要的数据在表 discourse_solved_solved_topics 中,浏览所有250个表格有点复杂。

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.