안녕하세요,
해당 링크에서 확인할 수 있는 (방문일수) 열이 있습니다:
https://LINK/admin/users/2/USERNAME
관리자 패널 => 사용자 탭 => “내보내기” 버튼을 통해 생성되는 CSV 사용자 목록 파일에도 이 열이 포함되면 좋겠습니다.
안녕하세요,
해당 링크에서 확인할 수 있는 (방문일수) 열이 있습니다:
https://LINK/admin/users/2/USERNAME
관리자 패널 => 사용자 탭 => “내보내기” 버튼을 통해 생성되는 CSV 사용자 목록 파일에도 이 열이 포함되면 좋겠습니다.
기대하시는 답변은 아닐 수 있지만 …
사용자 내보내기 파일에는 User 테이블의 필드가 포함되어 있습니다.
days_visited 필드는 User_Stats 테이블에 있습니다.
동일한 데이터를 두 번 이상(예: 두 테이블 모두에 해당 필드가 있는 경우) 보유하는 것은 "비정규화(anti-normalization)"에 해당합니다. 기억이 맞다면, 현재 보시는 것은 User 테이블을 사용하지만 사용자 관련 다른 테이블들도 함께 사용하는 JOIN 쿼리의 결과입니다.
다만, Data Explorer 플러그인을 사용하면 해당 필드가 포함된 내보내기 파일을 생성하는此类의 JOIN 쿼리를 실행하는 데 문제가 없어야 합니다.
정확하지 않습니다. CSV 파일에는 likes_given과 likes_received 열이 포함되어 있으며, 이 열들은 동일한 테이블인 user_stats에도 존재합니다:
--
-- Name: user_stats; Type: TABLE; Schema: public; Owner: discourse
--
CREATE TABLE public.user_stats (
user_id integer NOT NULL,
topics_entered integer DEFAULT 0 NOT NULL,
time_read integer DEFAULT 0 NOT NULL,
days_visited integer DEFAULT 0 NOT NULL,
posts_read_count integer DEFAULT 0 NOT NULL,
likes_given integer DEFAULT 0 NOT NULL,
likes_received integer DEFAULT 0 NOT NULL,
topic_reply_count integer DEFAULT 0 NOT NULL,
new_since timestamp without time zone NOT NULL,
read_faq timestamp without time zone,
first_post_created_at timestamp without time zone,
post_count integer DEFAULT 0 NOT NULL,
topic_count integer DEFAULT 0 NOT NULL,
bounce_score double precision DEFAULT 0 NOT NULL,
reset_bounce_score_after timestamp without time zone
);
고맙습니다. 말씀이 맞습니다. 이전에 다뤄본 것보다 더 많은 기능이 있는 것 같습니다.
관련 파일을 짚어주셔서 감사합니다 ![]()
topics_entered는 다른 컬럼들과 마찬가지로 get_base_user_array 함수에도 존재하는데… 이건 버그인 것 같지 않나요?
수출된 데이터에 포함되지 않았던 필드에 대해 관심을 가지고 있었습니다(약 1~2년 전 기준). 이는 의도적인 설계였고 버그가 아니라고 가정했지만, 더 깊이 확인해 본 적은 없습니다. 이후 수출 기능이 관리자 전용으로 변경되었고, 실제로 작업할 수 있는 데이터가 사라지면서 어려움이 커졌고, 관심이 식어갔으며, 현실(Real Life)의 여러 압박으로 인해 그 방향을 포기하게 되었습니다.
핵심 코드가 변경되지 않는 한, 플러그인이 테이블에서 값을 가져와 CSV 수출에 추가하는 것은 비교적 쉬울 것이라 추측합니다. 하지만 데이터 익스플로러(Data Explorer) 플러그인이 맞춤형 수출을 위한 좋은 후보라고 생각합니다.
현재 제 관심은 관리자 전용 핵심 파일 해킹에서 벗어나, 맞춤형 사용자 스크립트를 작성하는 쪽으로 대부분 이동했습니다.
충분한 합의가 이루어진다면 현재 수출 방식을 변경할 수 있을까요?
이를 위해 필요한 쿼리를 작성해 보았습니다:
SELECT
u.username_lower AS "username",
stats.days_visited
FROM users u
LEFT JOIN user_stats stats ON stats.user_id = u.id
ORDER BY u.id
다만 이러한 데이터는 실제로 사용자 목록 보고서에서 몇 가지 통찰력을 얻는 데 유용합니다.
@Mittineague님 감사합니다 ![]()