Вам потребуется модифицировать скрипт для импорта данных. Скрипт bbPress импортирует только записи определённого типа (возможно, я не помню правильную терминологию WordPress). Какие именно записи WordPress вы хотите импортировать? Что из этого является темами, а что — обычными записями? Есть ли там категории? Это лишь несколько вопросов, на которые вам нужно будет ответить, модифицируя скрипт. Как это сделать — выходит за рамки поддержки, которую вы, скорее всего, сможете получить здесь.
Редактирование: Я уже несколько раз выходил на пенсию и приближался к решению… Сейчас:
На шаге 2, выполняя команду mysql -u$MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE < /backup/yourbackup.sql, я получаю ошибку bash: /backups/yourstratapropertywordpress.sql: No such file or directory, хотя файл существует (по крайней мере, в /var/backups он есть).
Если я перейду к следующему шагу и попробую выполнить su discourse -c "bundle exec ruby script/import_scripts/bbpress.rb", я получу следующий результат:
Загрузка существующих пользователей...
Загрузка существующих категорий...
Загрузка существующих сообщений...
Загрузка существующих тем...
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. Если у вас есть понимание SQL, которое можно было получить на курсе бакалавриата в середине 1980-х годов, вы, скорее всего, справитесь. Если вы напишете запросы так, чтобы имена полей в результирующих данных совпадали с тем, что ожидает скрипт, возможно, вам удастся изменить только SQL.
@pfaffman Я бы очень ценил вашу помощь здесь, я застрял.
Сейчас я очень загружен, и здесь, скорее всего, это не решается. Напишите на jay@literatecomputing.com с указанием бюджета, и я сделаю всё возможное, чтобы предложить решение.
Похоже, ваш сервер MySQL либо не запущен, либо установлен неправильно.
Успех!
Тип поста должен быть post и должен заменить тип topic. Теги и категории тем не были перенесены. Все мои посты были импортированы от имени анонимного пользователя, но это, безусловно, хорошее начало!
Рады, что вы продвигаетесь вперёд!
Спасибо за этот ясный гайд — он стал ключом к пониманию процесса импорта, а не просто слепому копированию/вставке команд.
Я всё ещё пытаюсь найти самый быстрый способ импортировать очень большой форум Drupal, и у меня по-прежнему остаётся ощущение, что в моём случае можно оптимизировать процесс, чтобы сократить время простоя при финальном переносе форума в продакшн. Возможно, я немного «седобородый» ветеран, но ещё не до конца убеждён в всей парадигме Docker/контейнеризации. Я точно читал где-то, что в какой-то момент была ошибка в Docker, из-за которой производительность инстансов MySQL в контейнерах падала катастрофически. На форуме Docker я вижу этот отчёт, но не уверен, актуален ли он ещё. К тому же, это может быть нерелевантно для моего случая, так как я использую Debian вместо Ubuntu на хосте.
Другой вариант — установить MySQL или MariaDB непосредственно на хостовую ОС, вне контейнера?
И не углубляясь в детали, как насчёт оптимизации my.cnf с помощью рекомендаций из MySQLTuner? Стандартная конфигурация Docker, которая работает «из коробки» для всех инстансов, не может быть оптимальной с её настройками пула буферов и размера ключевых буферов, что критически влияет на производительность выделенной продакшн-БД.
Привет. Спасибо за это решение. У меня возникли проблемы с гемами, о которых вы упоминали в своей статье, поэтому я очень надеюсь, что всё получится. Работает ли этот метод для миграции форума bbPress на WordPress (размещённого на DreamPress) на экземпляр Discourse (размещённый на DigitalOcean)?
Я использую виртуальный сервер на базе Ubuntu от DigitalOcean и веб-терминал/консоль. Мой первый вопрос: что должно происходить, когда я запускаю /var/discourse/launcher stop app и /var/discourse/launcher rebuild import? Должен ли веб-терминал/консоль закрыться? Я пробовал это сделать, но файл import.yml, похоже, не сохраняется. Он возвращается к своему состоянию по умолчанию.
Также, не могли бы вы прояснить, нужно ли мне выполнять необязательный шаг 2 в моей настройке?
Заранее большое спасибо.
P.S.: Я готов заплатить кому-то за выполнение этой работы, но мой бюджет ограничен суммой в 200 долларов.
Возможно, вам стоит разместить это в Marketplace.