Ghan
4월 30, 2020, 7:28오후
1
다른 보드 소프트웨어에서 가져오기 테스트를 진행 중인데, 북마크를 가져오는 과정에서 문제가 발생하고 있습니다. 기본 가져오기(importer)에는 create_bookmarks 함수가 있으며, user_id와 post_id 값을 전달하고 있습니다. 스크립트는 아무런 에러를 발생시키지 않고 정상적인 진행 상황 출력을 보여줍니다:
25 / 25 (100.0%)
하지만 북마크가 생성되지 않습니다. 북마크 테이블은 비어 있습니다(데이터 탐색기를 통해 확인). 예상대로 작동하지 않는 이유에 대해 어떤 아이디어가 있을까요?
pfaffman
(Jay Pfaffman)
4월 30, 2020, 9:34오후
2
PostActionCreator를 호출한 뒤에 puts를 추가해서 실제로 무언가를 생성하는지 확인해 볼 수 있습니다.
martin
(Martin Brennan)
4월 30, 2020, 10:01오후
3
아, 가져오기(importers)를 놓쳤을 수도 있겠네요. 오늘 아침 일찍 확인해 보겠습니다(약 1시간 후에 출근합니다). 그 사이에 포스트 액션(post actions)의 북마크를 새 테이블로 동기화할 수 있는 rake 태스크가 있습니다.
bundle exec rake bookmarks:sync_to_table
이 작업은 비파괴적(non-destructive)이며 원하시는 만큼 여러 번 실행할 수 있습니다.
Ghan
4월 30, 2020, 10:13오후
4
음. post_actions 테이블을 확인해 보았는데 이쪽도 비어 있네요. 가져오기 코드가 오래된 프로세스를 사용하고 있는 건가요? 데이터베이스에 직접 insert 쿼리를 실행하는 방안을 고려하고 있지만, 이 부분도 좀 더 깊이 파고들어 보겠습니다.
pfaffman
(Jay Pfaffman)
4월 30, 2020, 10:13오후
5
importer에 지원 기능이 있다는 사실에 꽤 놀랐습니다.
martin
(Martin Brennan)
4월 30, 2020, 11:16오후
6
확인해 보았는데, 기본 가져오기 스크립트에서 create_bookmarks를 누락한 것이 맞았습니다. 오늘 PR을 올려서 새 테이블에 북마크가 생성되도록 하겠습니다. 그런데 PostAction 북마크가 생성되지 않는 것은 매우 이상합니다.
opts[:import_mode] = true
opts[:custom_fields] ||= {}
opts[:custom_fields]["import_id"] = import_id
unless opts[:topic_id]
opts[:meta_data] = meta_data = {}
meta_data["import_closed"] = true if opts[:closed]
meta_data["import_archived"] = true if opts[:archived]
meta_data["import_topic_id"] = opts[:import_topic_id] if opts[:import_topic_id]
end
opts[:guardian] = STAFF_GUARDIAN
if @bbcode_to_md
opts[:raw] = begin
opts[:raw].bbcode_to_md(false, {}, :disable, :quote)
rescue StandardError
opts[:raw]
end
end
This file has been truncated. show original
martin
(Martin Brennan)
5월 1, 2020, 1:35오전
7
Ghan
5월 1, 2020, 11:03오후
8
오늘早些에 업데이트를 진행했는데 이제 북마크가 정상적으로 가져와집니다! 빠른 수정 감사합니다!