Olá a todos,
Quero exportar as postagens de um usuário como um arquivo de texto/CSV, alguém sabe como posso conseguir isso com o data explorer ou de outra forma?
Olá a todos,
Quero exportar as postagens de um usuário como um arquivo de texto/CSV, alguém sabe como posso conseguir isso com o data explorer ou de outra forma?
Encontrei este código que funciona para o explorador de dados
SELECT t.title, p.raw as text, p.created_at as dateposted
FROM posts p
LEFT JOIN topics t ON t.id = p.topic_id
WHERE t.archetype != 'private_message'
AND t.user_id = 1
AND p.user_id = 1
AND t.category_id IN (13,7,1,)
AND t.deleted_at is null
Mas ele só mostra 336 resultados, há alguma maneira de contornar este limite? já que existem cerca de 5 mil posts.
Um usuário pode solicitar uma cópia completa de suas postagens e outros dados em formato CSV através da seção Exportar Seus Dados das Preferências.
Por exemplo, aqui no meta, está em:
https://meta.discourse.org/my/preferences/account
O sistema enviará uma mensagem para eles com um link para um arquivo zip. O user_archive.csv contém os dados das postagens.
Mas isso inclui PM também e eu quero apenas posts públicos.
Isso não acontece porque os 5000 posts incluem mensagens privadas (talvez mensagens excluídas também) e você filtra suas categorias?
Incluir t.user_id apenas retornaria posts onde o usuário também fosse o OP. Esse poderia ser o principal problema?
Notei alguns trechos extras que também podem ser úteis. Algo como:
-- [params]
-- user_id :user
SELECT t.id AS topic_id,
t.title,
p.raw as text,
p.created_at as dateposted
FROM posts p
JOIN topics t ON t.id = p.topic_id
WHERE t.archetype != 'private_message'
AND p.post_type IN (1, 4)
AND p.user_id = :user
AND t.deleted_at ISNULL
AND p.deleted_at ISNULL
ORDER BY p.created_at