데이터를 가져오려면 스크립트를 수정해야 합니다. bbPress 스크립트는 특정 유형의 게시물만 가져옵니다(정확한 WordPress 용어를 기억하지는 못합니다). 어떤 종류의 WP 게시물을 가져오길 원하나요? 어떤 것이 주제(topic)이고 어떤 것이 게시물(post)인가요? 카테고리 같은 것이 있나요? 스크립트를 수정하여 답해야 할 질문 중 일부입니다. 어떻게 수정하는지에 대해서는 여기서 받을 수 있는 지원 범위를 벗어납니다.
수정: 몇 번이나 은퇴를 시도했고, 점점 더 가까워지고 있습니다… 현재 상황:
2단계에서 mysql -u$MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE < /backup/yourbackup.sql를 실행하면 파일이 실제로 존재함에도 불구하고(적어도 /var/backups에는 존재함) bash: /backups/yourstratapropertywordpress.sql: No such file or directory라는 오류가 발생합니다.
그럼에도 불구하고 건너뛰어 su discourse -c "bundle exec ruby script/import_scripts/bbpress.rb"를 시도하면 다음과 같은 결과가 나옵니다:
Loading existing users...
Loading existing categories...
Loading existing posts...
Loading existing topics...
Traceback (most recent call last):
5: from script/import_scripts/bbpress.rb:512:in `<main>'
4: from script/import_scripts/bbpress.rb:512:in `new'
3: from script/import_scripts/bbpress.rb:21:in `initialize'
2: from script/import_scripts/bbpress.rb:21:in `new'
1: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:90:in `initialize'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:90:in `connect': Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) (Mysql2::Error::ConnectionError)
감사합니다! 데이터베이스와 스크립트를 확인해서 제 목적을 달성할 수 있는지 살펴볼게요.
행운을 빕니다! 저는 Ruby를 제대로 “배우기” 전에 이미 몇 개의 임포터를 작성한 경험이 있습니다. 1980년대 중반 대학에서 이수할 수 있는 수준의 SQL 이해력이 있다면, 아마도 이 작업을 해낼 수 있을 것입니다. 쿼리를 작성할 때 결과 데이터의 필드명이 스크립트가 기대하는 값과 일치하도록 작성하면, SQL만 수정해도 될 가능성이 있습니다.
@pfaffman 여기서 정말 도움이 필요해요. 너무 막혀서요.
지금 정말 바빠서 여기에서 바로 해결되지는 않을 것 같습니다. 예산을 명시해서 Jay@literatecomputing.com으로 이메일을 보내주시면, 해결책을 찾아보겠습니다.
MySQL 서버가 실행되지 않거나 올바르게 설치되지 않은 것 같습니다.
성공!
게시물 유형은 post여야 하며, 기존 post_type인 topic을 대체해야 합니다. 태그는 이전되지 않았고, 토론의 카테고리도 이전되지 않았습니다. 모든 게시물이匿名用户로 가져와졌지만, 확실한 좋은 시작입니다!
진전이 있으니 기쁩니다!
명확한 가이드를 작성해 주셔서 감사합니다. 단순히 명령어를 무작정 복사/붙여넣기하는 대신, 가져오기(import) 프로세스를 이해하는 데 큰 도움이 되었습니다.
현재는 매우 큰 규모의 Drupal 포럼을 가져오는 가장 빠른 방법을 알아보는 중입니다. 최종적으로 프로덕션 포럼 마이그레이션을 실행할 때 다운타임을 줄일 수 있도록 제 환경에서 최적화가 가능할 것 같은 느낌이 듭니다. 다소 연차가 있는 개발자(그레이비어드)이지만, Docker/컨테이너화 패러다임에 대해 아직 완전히 확신을 갖지 못하고 있습니다. 어딘가에서 Docker 버그로 인해 Docker화 된 MySQL 인스턴스의 성능이 극도로 저하되는 문제가 있었다고 읽은 기억이 납니다. Docker 포럼에서 이 보고서를 보고 있지만, 여전히 관련이 있는지 확실하지 않습니다. 또한 호스트 OS에 Ubuntu 대신 Debian을 사용하고 있으므로 제 경우에는 관련이 없을 수도 있습니다.
다른 옵션으로는 컨테이너 외부의 호스트 OS에 MySQL 또는 MariaDB를 설치하는 방법이 있을까요?
세부적인 내용까지 깊게 파고들지 않더라도, MySQLTuner의 제안 사항으로 my.cnf를 최적화하는 것은 어떨까요? 모든 인스턴스에 공통으로 적용되는 표준 Docker 구성은 버퍼 풀 인스턴스와 키 버퍼 크기에서 막대한 차이를 만드는 전용 프로덕션 DB 환경에서 최적일 수 없습니다.
안녕하세요. 이 해결책을 공유해 주셔서 감사합니다. 작성하신 글에서 언급하신 gems 관련 문제를 저도 겪고 있어서, 이 방법을 통해 성공적으로 해결할 수 있기를 매우 기대하고 있습니다. 이 방법으로 워드프레스 bbpress 포럼(DreamPress 호스팅)을 Discourse 인스턴스(Digital Ocean 호스팅)로 마이그레이션하는 데 사용할 수 있을까요?
저는 Digital Ocean의 Ubuntu 기반 드롭렛과 웹 터미널/콘솔을 사용 중입니다. 첫 번째 질문은 /var/discourse/launcher stop app /var/discourse/launcher rebuild import 명령을 실행할 때 어떤 일이 일어나야 하는지입니다. 웹 터미널/콘솔이 닫히는 것이 정상인가요? 시도해 보았지만 import.yml 파일이 저장되지 않는 것 같습니다. 기본 상태로 되돌아가 버립니다.
또한, 제 환경에서는 선택 사항인 2단계도 실행해야 하는지 알려주실 수 있을까요?
미리 감사드립니다.
P.S. 예산이 $200로 제한되어 있지만, 비용을 지불하고 누군가에게 의뢰할 의향이 있습니다.
아마도 Marketplace 채널에 그 내용을 올리는 것이 좋을 것 같습니다.