Перенос из ipb2.3 в smf2.1.3

Автор golgofa, 07 апреля 2023, 19:50:33

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

golgofa

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

Установил smf 2.1.3, запускаю конвертер smf_2-0-invision23_converter_3 - пустой экран.
Пробовал установить 2.0.19 и конвертить в него, но при запуске конвертера вылезает HTTP ERROR 500.

[07-Apr-2023 18:25:51 Europe/Moscow] PHP Warning:  require_once(/home/ru/public_html/conf_global.php): failed to open stream: Permission denied in /home/ru/public_html/convert.php on line 454
[07-Apr-2023 18:25:51 Europe/Moscow] PHP Fatal error:  require_once(): Failed opening required '/home/ru/public_html/conf_global.php' (include_path='.:/usr/share/php') in /home/ru/public_html/convert.php on line 454

Как осуществить перенос?

Спасибо.

digger®

Цитата: golgofa от 07 апреля 2023, 19:50:33Здравствуйте.

Установил smf 2.1.3, запускаю конвертер smf_2-0-invision23_converter_3 - пустой экран.
Пробовал установить 2.0.19 и конвертить в него, но при запуске конвертера вылезает HTTP ERROR 500.

[07-Apr-2023 18:25:51 Europe/Moscow] PHP Warning:  require_once(/home/ru/public_html/conf_global.php): failed to open stream: Permission denied in /home/ru/public_html/convert.php on line 454
[07-Apr-2023 18:25:51 Europe/Moscow] PHP Fatal error:  require_once(): Failed opening required '/home/ru/public_html/conf_global.php' (include_path='.:/usr/share/php') in /home/ru/public_html/convert.php on line 454

Как осуществить перенос?

Спасибо.
Все конвертеры написаны под SMF 2.0, никто их не переделывал под SMF 2.1
Конвертируете в SMF 2.0, потом обновляете до 2.1.
У вас конвертер не может прочитать файл конфигурации от ipb, проверьте что /home/ru/public_html/conf_global.php существует и доступен для чтения.

golgofa

#2
Проблему решил на стороне сервера.

Но тут же новая засада - в самом начале получаю ошибку:
Converting...
Converting members...Wrong value type sent to the database. Date expected. (birthdate)


golgofa

#3
Конвертер кривой до безобразия.

Конвертеру не нравятся не только NULL в датах, но и 0 его не устраивают.
При условии, что IPB не требовал в обязательном порядке указывать дату рождения, это нужно было учесть в коде конвертера. В 19000 записей из 40000 дата отсутствует.

Лажа вот здесь -
IF (m.bday_year = 0 AND m.bday_month != 0 AND m.bday_day != 0, CONCAT('0004-', m.bday_month, '-', m.bday_day), CONCAT_WS('-', IF(m.bday_year <= 4, 1, m.bday_year), IF(m.bday_month = 0, 1, m.bday_month), IF(m.bday_day = 0, 1, m.bday_day))) AS birthdate,

Ладно, не беда, 3 запроса к базе, и у всех юзеров теперь есть нормальная дата...

Конвертация пошла.
Но ненадолго...

Converting...
Converting members... Incomplete.
Not quite done yet!
This conversion has paused to avoid overloading your server, and hence not working properly.
Don't worry though, nothing's wrong - simply click the continue button below to start the converter from where it left off.


Нажимаем кнопку "Продолжить".

Опять ошибка -

Converting...
Converting members...
Duplicate entry '29463' for key 'PRIMARY'

Перезапускаю...

Converting members...
Duplicate entry '31142' for key 'PRIMARY'

Проверил - нет никаких дублирующихся записей.

Такое ощущение, что когда написали конвертер, его тестировали на каком-то форуме с десятком сообщений и пятью юзерами, где всё было заполнено идеально.


golgofa

Converting members...
Successful.
Converting categories... Successful.
Converting boards... Successful.
Converting topics...Wrong value type sent to the database. Integer expected. (id_poll)

Не. Ну достало реально.
Если до этого хоть писала где и что именно, то теперь просто id_poll и иди ищи что ей не нравится.

golgofa

#5
Создал нового юзера и все топики, голосования и посты, которые написали пользователи, которых больше нет (удалённые), приписал ему. Т.е. в базе больше нет сообщений от удалённых.

Теперь конвертация идёт не 2 секунды как раньше, а целых 27...

Но результат прежний -

Converting members...
Successful.
Converting categories... Successful.
Converting boards... Successful.
Converting topics...Wrong value type sent to the database. Integer expected. (id_poll)

digger®

Цитата: golgofa от 08 апреля 2023, 11:59:24Конвертер кривой до безобразия.
Конвертеры не идеальные, но кривой до безобразия в данном случае древний ipb. Никакого контроля консистентности и валидности данных в базе.