# Migrate a bbPress WordPress plugin forum to Discourse

**URL:** https://meta.discourse.org/t/migrate-a-bbpress-wordpress-plugin-forum-to-discourse/48876
**Category:** Migrating to Discourse
**Tags:** how-to
**Created:** [19.Август.2016 14:24:20 UTC](https://meta.discourse.org/t/migrate-a-bbpress-wordpress-plugin-forum-to-discourse/48876 "2016-08-19T14:24:20Z")
**Posts on this page:** 14
**Page:** 2

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [30.Сентябрь.2019 16:19:33 UTC](https://meta.discourse.org/t/migrate-a-bbpress-wordpress-plugin-forum-to-discourse/48876/22 "2019-09-30T16:19:33Z")

</div>

> [@p0fi](#):
>
> Значит ли это, что это «вложение без ссылки», и оно будет пропущено?

Похоже на то.

Кроме того, мой скрипт импорта vBulletin, который обрабатывает вложения без ссылок, не ищет их в этой таблице, поэтому вам понадобится какой-то пользовательский код для решения этой проблемы, даже после того, как я представлю PR со своим скриптом.

РЕДАКТИРОВАНИЕ: это также означает, что, по моему мнению, даже если бы они были связаны в посте, они всё равно не работали бы, поскольку они не находятся там, где скрипт ожидает их увидеть в базе данных.

---

<div class="post-metadata">

### Author: ![p0fi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/p0fi/32/261315_2.png) [@p0fi](https://meta.discourse.org/u/p0fi)
#### Post date: [30.Сентябрь.2019 16:52:51 UTC](https://meta.discourse.org/t/migrate-a-bbpress-wordpress-plugin-forum-to-discourse/48876/23 "2019-09-30T16:52:51Z")

</div>

Отличные новости! Я точно не знаю, как именно работает скрипт импорта, но он справляется! После того как я сделал файлы доступными для контейнера импорта и немного покопался в скрипте, выяснилось, что всё работает. Единственная проблема заключалась в том, что имя файла, на котором я тестировал, содержало символ «ä», и из-за этого какое-то странное кодирование мешало скрипту найти файл. После исправления имени файла импорт сработал, и вложение появилось в посте!

Огромное спасибо за все советы! 🍻

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [30.Сентябрь.2019 16:58:41 UTC](https://meta.discourse.org/t/migrate-a-bbpress-wordpress-plugin-forum-to-discourse/48876/24 "2019-09-30T16:58:41Z")

</div>

Отлично! Рад, что магия сработала для вас! (О! Теперь я вижу, что я смотрел на скрипт vBulletin, а не на bbPress, отсюда и моя путаница. Это объясняет, почему я не мог найти таблицу!)

---

<div class="post-metadata">

### Author: ![kenaddams](https://avatars.discourse-cdn.com/v4/letter/k/edb3f5/32.png) [@kenaddams](https://meta.discourse.org/u/kenaddams)
#### Post date: [23.Ноябрь.2019 22:39:12 UTC](https://meta.discourse.org/t/migrate-a-bbpress-wordpress-plugin-forum-to-discourse/48876/25 "2019-11-23T22:39:12Z")

</div>

Привет!  
После запуска команды IMPORT bundle exec у меня возникла ошибка:

```
Using unicorn 5.5.1
Using webmock 3.7.6
Using webpush 1.0.0
Using yaml-lint 0.0.10
Bundle complete! 130 Gemfile dependencies, 214 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Traceback (most recent call last):
        31: from scripts/import_scripts/bbpress.rb:4:in `<main>'
        30: from scripts/import_scripts/bbpress.rb:4:in `require'
        29: from /var/discourse/scripts/import_scripts/base.rb:16:in `<top (required)>'
        28: from /var/discourse/scripts/import_scripts/base.rb:16:in `require_relative'
        27: from /var/discourse/config/environment.rb:7:in `<top (required)>'
        26: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.1/lib/rails/railtie.rb:190:in `method_missing'
        25: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.1/lib/rails/railtie.rb:190:in `public_send'
        24: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.1/lib/rails/application.rb:363:in `initialize!'
        23: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.1/lib/rails/initializable.rb:60:in `run_initializers'
        22: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:205:in `tsort_each'
        21: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:226:in `tsort_each'
        20: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:347:in `each_strongly_connected_component'
        19: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:347:in `call'
        18: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:347:in `each'
        17: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:349:in `block in each_strongly_connected_component'
        16: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:431:in `each_strongly_connected_component_from'
        15: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
        14: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:228:in `block in tsort_each'
        13: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.1/lib/rails/initializable.rb:61:in `block in run_initializers'
        12: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.1/lib/rails/initializable.rb:32:in `run'
        11: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.1/lib/rails/initializable.rb:32:in `instance_exec'
        10: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.1/lib/rails/application/bootstrap.rb:73:in `block in <module:Bootstrap>'
         9: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.1/lib/active_support/lazy_load_hooks.rb:51:in `run_load_hooks'
         8: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.1/lib/active_support/lazy_load_hooks.rb:51:in `each'
         7: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.1/lib/active_support/lazy_load_hooks.rb:52:in `block in run_load_hooks'
         6: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.1/lib/active_support/lazy_load_hooks.rb:67:in `execute_hook'
         5: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.1/lib/active_support/lazy_load_hooks.rb:62:in `with_execution_control'
         4: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.1/lib/active_support/lazy_load_hooks.rb:69:in `block in execute_hook'
         3: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/ember-rails-0.18.5/lib/ember/rails/engine.rb:19:in `block in <class:Engine>'
         2: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/active_support.rb:59:in `load_missing_constant'
         1: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/active_support.rb:16:in `allow_bootsnap_retry'
/home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/active_support.rb:60:in `block in load_missing_constant': uninitialized constant Sprockets::Engines (NameError)
        32: from scripts/import_scripts/bbpress.rb:4:in `<main>'
        31: from scripts/import_scripts/bbpress.rb:4:in `require'
        30: from /var/discourse/scripts/import_scripts/base.rb:16:in `<top (required)>'
        29: from /var/discourse/scripts/import_scripts/base.rb:16:in `require_relative'
        28: from /var/discourse/config/environment.rb:7:in `<top (required)>'
        27: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.1/lib/rails/railtie.rb:190:in `method_missing'
        26: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.1/lib/rails/railtie.rb:190:in `public_send'
        25: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.1/lib/rails/application.rb:363:in `initialize!'
        24: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.1/lib/rails/initializable.rb:60:in `run_initializers'
        23: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:205:in `tsort_each'
        22: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:226:in `tsort_each'
        21: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:347:in `each_strongly_connected_component'
        20: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:347:in `call'
        19: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:347:in `each'
        18: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:349:in `block in each_strongly_connected_component'
        17: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:431:in `each_strongly_connected_component_from'
        16: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
        15: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/2.6.0/tsort.rb:228:in `block in tsort_each'
        14: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.1/lib/rails/initializable.rb:61:in `block in run_initializers'
        13: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.1/lib/rails/initializable.rb:32:in `run'
        12: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.1/lib/rails/initializable.rb:32:in `instance_exec'
        11: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-6.0.1/lib/rails/application/bootstrap.rb:73:in `block in <module:Bootstrap>'
        10: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.1/lib/active_support/lazy_load_hooks.rb:51:in `run_load_hooks'
         9: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.1/lib/active_support/lazy_load_hooks.rb:51:in `each'
         8: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.1/lib/active_support/lazy_load_hooks.rb:52:in `block in run_load_hooks'
         7: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.1/lib/active_support/lazy_load_hooks.rb:67:in `execute_hook'
         6: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.1/lib/active_support/lazy_load_hooks.rb:62:in `with_execution_control'
         5: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-6.0.1/lib/active_support/lazy_load_hooks.rb:69:in `block in execute_hook'
         4: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/ember-rails-0.18.5/lib/ember/rails/engine.rb:19:in `block in <class:Engine>'
         3: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/active_support.rb:58:in `load_missing_constant'
         2: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/active_support.rb:79:in `rescue in load_missing_constant'
         1: from /home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/active_support.rb:8:in `without_bootsnap_cache'
/home/kenaddams42/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/active_support.rb:79:in `block in load_missing_constant': uninitialized constant Sprockets::Engines (NameError)
root@sd-114000:/var/discourse# ~

```

Есть какие-нибудь идеи?  
Спасибо 😉

---

<div class="post-metadata">

### Author: ![jakelunniss](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jakelunniss/32/194661_2.png) [@jakelunniss](https://meta.discourse.org/u/jakelunniss)
#### Post date: [24.Сентябрь.2020 05:42:52 UTC](https://meta.discourse.org/t/migrate-a-bbpress-wordpress-plugin-forum-to-discourse/48876/26 "2020-09-24T05:42:52Z")

</div>

Спасибо за этот учебник, @vinothkannans!

Я застрял при редактировании bbpress.rb.

После запуска команды `sudo nano script/import_scripts/bbpress.rb` открывается редактор файлов, но при попытке сохранить появляется сообщение, что файл или директория не существует:

 ![image](https://global.discourse-cdn.com/meta/original/3X/9/c/9c0ff08bc61f710b7f40c9643fc01dc3c447fe16.png)

Это совершенно свежая установка.

Большое спасибо,

Джейк

---

<div class="post-metadata">

### Author: ![vinothkannans](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/vinothkannans/32/86465_2.png) [@vinothkannans](https://meta.discourse.org/u/vinothkannans)
#### Post date: [24.Сентябрь.2020 08:18:59 UTC](https://meta.discourse.org/t/migrate-a-bbpress-wordpress-plugin-forum-to-discourse/48876/27 "2020-09-24T08:18:59Z")

</div>

> [@vinothkannans](#):
>
> ```plaintext
> cd /var/discourse
> sudo nano script/import_scripts/bbpress.rb
> 
> ```

В приведённом выше руководстве я использовал директорию `/var/discourse` для установки среды разработки Discourse. Если вы установили её в другом месте, убедитесь, что вы выполнили команду `cd` для перехода в эту директорию (_чаще всего это `~/discourse`_), прежде чем запускать команду `sudo nano script/import_scripts/bbpress.rb`.

---

<div class="post-metadata">

### Author: ![Donavan\_Martin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/donavan_martin/32/198936_2.png) [@Donavan\_Martin](https://meta.discourse.org/u/Donavan_Martin)
#### Post date: [02.Ноябрь.2020 20:02:03 UTC](https://meta.discourse.org/t/migrate-a-bbpress-wordpress-plugin-forum-to-discourse/48876/28 "2020-11-02T20:02:03Z")

</div>

Здравствуйте,

Я не вижу путь «script» в папке /var/discourse.

- Я пробовал на свежем экземпляре из нового маркетплейса Discourse от DigitalOcean.
- Я пробовал официальную установку Discourse через Docker.

Вот как выглядит /var/discourse/script **s** /:

 ![Capture d'écran, le 2020-11-02 à 15.00.20](https://global.discourse-cdn.com/meta/original/3X/2/f/2f3ab5e32aa731f2bc13901a1252b1ace6c985d6.png)  
С наилучшими пожеланиями

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [02.Ноябрь.2020 23:56:43 UTC](https://meta.discourse.org/t/migrate-a-bbpress-wordpress-plugin-forum-to-discourse/48876/29 "2020-11-02T23:56:43Z")

</div>

> [@Donavan\_Martin](#):
>
> Я не вижу путь «script» в папке /var/discourse.

Верно.

> [@vinothkannans](#):
>
> Перед началом миграции настройте среду разработки на вашем компьютере.

Вам необходимо настроить среду разработки или следовать инструкциям в других темах об импорте, где объясняется, как можно запустить скрипт импорта внутри продакшн-контейнера.

---

<div class="post-metadata">

### Author: ![Donavan\_Martin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/donavan_martin/32/198936_2.png) [@Donavan\_Martin](https://meta.discourse.org/u/Donavan_Martin)
#### Post date: [03.Ноябрь.2020 12:44:23 UTC](https://meta.discourse.org/t/migrate-a-bbpress-wordpress-plugin-forum-to-discourse/48876/30 "2020-11-03T12:44:23Z")

</div>

Наконец-то нашел [Use an import script that requires MySQL](https://meta.discourse.org/t/how-to-use-the-bbpress-import-script-or-any-other-import-script-with-mysql-dependency/63349) для недостающей части.

Спасибо

---

<div class="post-metadata">

### Author: ![mponts](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mponts/32/345051_2.png) [@mponts](https://meta.discourse.org/u/mponts)
#### Post date: [30.Ноябрь.2023 16:37:02 UTC](https://meta.discourse.org/t/migrate-a-bbpress-wordpress-plugin-forum-to-discourse/48876/31 "2023-11-30T16:37:02Z")

</div>

@vinothkannans Я пытаюсь перенести данные из WPForo в Discourse, но скрипт/код мне не по силам. Не могли бы вы (или кто-то еще) помочь мне с этим? Спасибо.

---

<div class="post-metadata">

### Author: ![jericson](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jericson/32/116215_2.png) [@jericson](https://meta.discourse.org/u/jericson)
#### Post date: [30.Ноябрь.2023 20:26:58 UTC](https://meta.discourse.org/t/migrate-a-bbpress-wordpress-plugin-forum-to-discourse/48876/32 "2023-11-30T20:26:58Z")

</div>

> [@Mark](#):
>
> Не могли бы вы (или кто-то ещё) помочь мне с этим?

Возможно, вам повезёт больше, если вы опубликуете сообщение в #Marketplace. Там есть несколько человек, которые следят за этой категорией и могут помочь.

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [30.Ноябрь.2023 22:03:19 UTC](https://meta.discourse.org/t/migrate-a-bbpress-wordpress-plugin-forum-to-discourse/48876/33 "2023-11-30T22:03:19Z")

</div>

Хотя у нас также есть категория #Support > Migration для конкретных вопросов по миграции. 👍

---

<div class="post-metadata">

### Author: ![Mark\_Wass](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mark_wass/32/290526_2.png) [@Mark\_Wass](https://meta.discourse.org/u/Mark_Wass)
#### Post date: [10.Январь.2024 04:59:28 UTC](https://meta.discourse.org/t/migrate-a-bbpress-wordpress-plugin-forum-to-discourse/48876/34 "2024-01-10T04:59:28Z")

</div>

При следовании руководству и дохожу до момента запуска скрипта импорта, я получаю следующую ошибку. Я установил Discourse согласно [этим инструкциям](https://meta.discourse.org/t/install-discourse-on-ubuntu-or-debian-for-development/14727)

```plaintext
myuser@tmp-discourse:~/discourse$ IMPORT=1 bundle && IMPORT=1 bundle exec ruby script/import_scripts/bbpress.rb

[!] Произошла ошибка при парсинге `Gemfile`: Нельзя указывать один и тот же gem дважды с разными требованиями к версии.
Вы указали: sqlite3 (~> 1.3, >= 1.3.13) и sqlite3 (>= 0). Bundler не может продолжить.

 # из /home/myuser/discourse/Gemfile:251
 # -------------------------------------------
 # group :generic_import, optional: true do
 > gem "sqlite3"
 # gem "redcarpet"
 # -------------------------------------------

```

---

<div class="post-metadata">

### Author: ![Mark\_Wass](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mark_wass/32/290526_2.png) [@Mark\_Wass](https://meta.discourse.org/u/Mark_Wass)
#### Post date: [10.Январь.2024 07:49:50 UTC](https://meta.discourse.org/t/migrate-a-bbpress-wordpress-plugin-forum-to-discourse/48876/35 "2024-01-10T07:49:50Z")

</div>

> [@Vinoth Kannan](#):
>
> `apt-get install libmysqlclient-dev`

Мне удалось это исправить, изменив следующее в файле Gemfile:

```plaintext
# ПРИМЕЧАНИЕ: в режиме импорта версия sqlite может иметь большое значение, поэтому мы фиксируем её на конкретной версии
#gem "sqlite3", "~> 1.3", ">= 1.3.13"
  gem "sqlite3"

```

Также мне потребовалось установить этот пакет в мою систему Ubuntu 22.04 LTS:

```plaintext
sudo apt install freetds-dev

```

[Предыдущая страница](https://meta.discourse.org/t/migrate-a-bbpress-wordpress-plugin-forum-to-discourse/48876.md?page=1)
