Migrate a phpBB3 forum to Discourse

Я понятия не имею. Я создал протокол миграции и вполне уверен, что ничего не делал иначе, чем во всех последних тестовых запусках. Позвольте мне еще раз проверить файл настроек. Возможно, какая-то странная ошибка при копировании/вставке.

1 лайк

Хм, в первый раз, когда я запускал импорт, я тоже получал трассировку стека из Ruby-скрипта. Сейчас же я получаю только следующее:

root@import-import:/var/www/discourse# import_phpbb3.sh

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Насколько я могу судить, MySQL действительно не запущена.

Мне удалось перезапустить MariaDB (по какой-то причине она остановилась). Теперь вот что я получаю.

Traceback (most recent call last):
        9: from script/import_scripts/phpbb3.rb:13:in `<main>'
        8: from script/import_scripts/phpbb3.rb:14:in `<module:ImportScripts>'
        7: from script/import_scripts/phpbb3.rb:26:in `<module:PhpBB3>'
        6: from /var/www/discourse/script/import_scripts/phpbb3/database/database.rb:9:in `create'
        5: from /var/www/discourse/script/import_scripts/phpbb3/database/database.rb:9:in `new'
        4: from /var/www/discourse/script/import_scripts/phpbb3/database/database.rb:15:in `initialize'
        3: from /var/www/discourse/script/import_scripts/phpbb3/database/database.rb:39:in `create_database_client'
        2: from /var/www/discourse/script/import_scripts/phpbb3/database/database.rb:39:in `new'
        1: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:90:in `initialize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:90:in `connect': Unknown database 'phpbb' (Mysql2::Error)

Непонятно, почему он жалуется на отсутствующую базу данных — разве он не должен импортировать этот дамп и создать эту БД?

Должно ли имя базы данных в настройках совпадать с именем в файле дампа?

EDIT: Я снова собрал импорт и настроил всё заново, и теперь, похоже, всё работает. Честно говоря, не имею ни малейшего представления, что пошло не так.

Вам удалось решить проблему с переносом форума?

1 лайк

Есть ли шанс, что вы пропустите это и сразу сделаете работу для phpBB 3.3? Может быть, что-то в ней облегчит задачу по сравнению с 3.2?

1 лайк

Кажется маловероятным, что изменения, сделавшие версию 3.2 несовместимой со старым скриптом, были отменены в версии 3.3. Выше приведена ссылка на форк с поддержкой версии 3.2, но разобраться, как его использовать, скорее всего, будет непросто. Он может подойти для версии 3.3, но может и не подойти.

2 лайка

Всем привет, есть ли какие-то новости по скрипту миграции 3.2?

Предполагаю, что эта проблема всё ещё актуальна, да? Нашёл ли кто-нибудь обходной путь или решение?

Вы имеете в виду это?

1 лайк

@nbianca работает над этим, так как мы выполняем миграцию для клиента. Скорее всего, это будет объединено в течение следующих нескольких недель.

7 лайков

Мы очень хотим перенести наш форум с phpBB, к сожалению, когда вышла phpBB 3.3, мы сразу перешли на неё в надежде немного снизить спам… Но это не только почти не помогло, но и, похоже, нам придётся ждать поддержки phpBB 3.3 ещё дольше. Так ли это?

2 лайка

Я не проверял, но предполагаю, что структура базы данных phpBB 3.3 в основном совпадает с 3.2, поэтому добавление поддержки 3.3 должно быть несложным после слияния скрипта импорта для 3.2.

4 лайка

Отлично, спасибо! У меня есть старая резервная копия версии 3.1, которую я сейчас использую для тестирования Discourse. Прямо сейчас пытаюсь настроить её, чтобы понять общий ход процесса. С нетерпением жду поддержки версии 3.3, когда она появится! :grinning:

3 лайка

Есть ли какие-либо новости о скрипте миграции? Есть ли график для этого? Мы можем подождать, но мы пытаемся запланировать нашу миграцию, поэтому любой срок поможет :smiley:

Огромное спасибо за вашу тяжелую работу!

3 лайка

Мы смогли найти кого-то на Upwork, кто перенёс наш сайт. Не идеально, но он справился хорошо, и мы рады, что оставили PHPBB позади.

5 лайков

Похоже, они всё ещё работают над этим, что отлично. Надеюсь, в рамках этого обновления добавят поддержку последней версии phpBB3? Именно на ней мы сейчас находимся. Мне очень хочется как можно скорее перейти на Discourse. Рассчитывал сделать это до конца года.

2 лайка

Я использую phpBB для своего форума уже 14 лет. Я обожаю это программное обеспечение! Но, думаю, у меня появилась новая страсть — Discourse.

Я хочу как можно скорее перейти на Discourse! Надеюсь, эта тема будет обновлена с описанием функции, которая всё ещё находится на начальном этапе в начале 2021 года. Это было бы потрясающе :blush:

Хочу поблагодарить команду за эту прекрасную работу.

2 лайка

Всё зависит от того, когда у нас появится база данных для миграции на phpBB 3.3. К сожалению, мы не можем вносить надёжные обновления в скрипт без базы данных, на которой его можно было бы протестировать.

Я знаю, что в сообществе есть люди, которые с радостью помогут вам с миграцией и внесут необходимые правки в скрипт, если сроки поджимают. Если вы хотите обсудить этот вариант, напишите в канал Marketplace. Для планирования: стоимость миграции может начинаться от 2000 долларов США в зависимости от затраченного времени разработчиков.

3 лайка

Поддержка импорта phpBB 3.2 наконец-то была объединена. :tada:
Это стало возможным благодаря командной работе. :slight_smile:

Для тех, кто ожидает поддержку phpBB 3.3: на данный момент таких планов нет, так как у нас нет клиентов, запрашивающих импорт. Вы можете попробовать самостоятельно, отредактировав эту строку перед запуском скрипта импорта. Возможно, это сработает без каких-либо других изменений. Пожалуйста, не стесняйтесь сообщить о результатах.

8 лайков

Прежде всего, хочу поблагодарить вас за это руководство. Я пытаюсь импортировать наш старый форум phpBB версии 3.1.9 в Discourse, но получаю следующую ошибку:

importing from phpBB 3.1.9

creating users
     3255 / 3255 (100.0%)  [224 items/min]  n]  
creating anonymous users
        1 / 1 (100.0%)  [0 items/min]  
creating groups
        7 / 7 (100.0%)  [2030359 items/min]  
creating user groups

creating new categories
Traceback (most recent call last):
	7: from script/import_scripts/phpbb3.rb:13:in `<main>'
	6: from script/import_scripts/phpbb3.rb:14:in `<module:ImportScripts>'
	5: from script/import_scripts/phpbb3.rb:33:in `<module:PhpBB3>'
	4: from /var/www/discourse/script/import_scripts/phpbb3/importer.rb:22:in `perform'
	3: from /var/www/discourse/script/import_scripts/base.rb:47:in `perform'
	2: from /var/www/discourse/script/import_scripts/phpbb3/importer.rb:36:in `execute'
	1: from /var/www/discourse/script/import_scripts/phpbb3/importer.rb:159:in `import_new_categories'
/var/www/discourse/script/import_scripts/base.rb:414:in `create_categories': undefined method `count' for nil:NilClass (NoMethodError)

В файле импорта я использую внешний MySQL-сервер для импорта и внешний PostgreSQL-сервер для Discourse.

Не могли бы вы подсказать, как решить эту проблему?

1 лайк

Я думаю, это означает, что запрос, который ищет категории, не работает. Вам нужно проверить этот запрос и то, что он возвращает, и исправить его, чтобы он находил данные.

1 лайк

Спасибо за ваш ответ. Я сейчас пробую другой способ. В Docker-файле я изменил ветку git на stable, чтобы избежать последнего обновления. Посмотрим, что получится.

1 лайк