Всем привет,
Я хочу экспортировать посты пользователя в текстовый/CSV файл. Подскажите, пожалуйста, как это можно сделать с помощью data explorer или любым другим способом?
Всем привет,
Я хочу экспортировать посты пользователя в текстовый/CSV файл. Подскажите, пожалуйста, как это можно сделать с помощью data explorer или любым другим способом?
Я обнаружил, что этот код работает для Data Explorer:
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
Однако он показывает только 336 результатов. Есть ли способ обойти это ограничение, учитывая, что всего около 5 тысяч постов?
Пользователь может запросить полную копию своих сообщений и других данных в формате CSV через раздел «Экспорт ваших данных» в Настройках.
Например, здесь, на meta, это находится по адресу:
https://meta.discourse.org/my/preferences/account
Система отправит пользователю сообщение со ссылкой на ZIP-файл. Файл user_archive.csv содержит данные о сообщениях.
Но это включает и личные сообщения, а мне нужны только публичные посты.
Разве это не потому, что 5000 постов включают личные сообщения (возможно, и удалённые сообщения тоже), а вы фильтруете свои категории?
Добавление t.user_id даст только те посты, где пользователь также является автором темы (OP). Не в этом ли основная проблема?
Я заметил ещё несколько моментов, которые могут быть полезны:
-- [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