Конвертация базы из phpBB 3.0 в phpBBex 1.x

Список разделов phpBBex 1.x (поддерживается) Мастерская 1.x

Описание: Только готовые решения! Статьи, заметки, моды и другие полезности для phpBBex 1.x и phpBB 3.0.x.
Модератор: Поддержка

Сообщение #1 VEG » 18.04.2012, 21:11

На данный момент доступен только скрипт конвертации phpBB 3.0.x в phpBBex. Для того, чтобы конвертировать любой другой форум в phpBBex, сперва необходимо конвертировать его в phpBB 3.0.x, после чего уже приступать к конвертации в phpBBex.

Общая схема действий такова:
  1. Перед началом работы обязательно делаем копию всех данных!
  2. Если у вас установлены стили, отличные от prosilver, удаляем их через админку и устанавливаем у всех пользователей стиль prosilver по умолчанию. Для этого зайдите в Админка » Стили, и там на страницах «Стили», «Шаблоны», «Темы» и «Наборы рисунков» удалите всё, что отличается от prosilver. Если этого не сделать, после копирования файлов phpBBex вы получите ошибку, поскольку в комплекте с ним идёт только стиль prosilver.
  3. Если у вас есть хоть одно важное (глобальное) объявление — обязательно сделайте их обычными перед конвертацией (после конвертации вы сможете сделать их обратно глобальными).
  4. Удаляем файлы phpBB 3 кроме config.php, файлов аватар в каталоге ./images/avatars/ и файлов вложений в каталоге ./files/), вместо них записываем файлы phpBBex (config.php не перезаписываем). Учтите, что в каталоге загруженных аватар ./images/avatars/upload/ обязательно необходимо удалить файл .htaccess.
  5. Выполняем в базе скрипт /install/phpbbex.sql (вручную, при помощи PhpMyAdmin на вашем хостинге или другого подобного инструмента). Если у вас префикс таблиц отличается от «phpbb_», не забудьте перед выполнением изменить подстроку «phpbb_» (со знаком подчёркивания!) на ваш префикс в любом текстовом редакторе, кроме значения phpbb_captcha_nogd, его нужно оставить без изменений. Если у вас были установлены модификации, могут возникнуть ошибки (что-то вроде «колонка такая-то уже существует»), но большинство из них легко разрешается (спрашивайте, поможем).
  6. Запускаем в браузере скрипт обновления базы phpBB /install/database_update.php (на случай, если у вас до этого стояла не последняя версия phpBB).
  7. Авторизуемся, очищаем кэш (на главной в админке), заходим в Админка » Стили, где обязательно обновляем наборы изображений, темы и шаблоны для prosilver (без этого стиль будет отображаться некорректно из-за старых данных из phpBB 3).
  8. Админка » Система » Управление модулями » Администраторский раздел » Система » Автоматизация. Необходимо удалить модуль ACP_VERSION_CHECK.
  9. Админка » Система » Управление модулями » Администраторский раздел. Необходимо добавить модули «Быстрый ответ», «Верхние ссылки», «Управление вложениями», «Настройки отображения» и «Лог регистраций» в подходящие вам разделы. Не забудьте включить эти модули после добавления.
  10. Админка » Система » Управление модулями » Модераторский раздел. Необходимо добавить модуль «Редактировать предупреждение» в категорию «Предупреждения».
  11. Для отображения аватар необходимо их синхронизировать: Зайдите в STK (каталог ./stk/, например, http://вашфорум/stk/), Admin Tools, Resynchronise avatars, нажмите Yes и подождите, пока не появится надпись «Avatars successfully resynchronised!» (это может занять несколько минут!).
  12. Для установки новых пакетов смайликов: Зайдите в Админку, Сообщения, Смайлики, Установить пакет смайликов, выберите phpbbex.pak или phpbb3.pak (в зависимости от того, какой пакет смайликов вы хотите), выберите радиокнопку «Удалить все» и нажмите «Установить пакет смайликов».
  13. Не забудьте установить зарегистрированным пользователям право оценивать сообщения.
  14. После обновления базы зайдите в Админку » Сообщения » Вложения » Группы расширений, и удалите там группу QUICKTIME_MEDIA. Там же вы можете увидеть новые группы «HTML5 аудио» и «HTML5 видео» — эти группы вы можете назначать на следующие расширения для отображения их в виде плеера: ogg, ogv, opus, webm, wav, mp3, mp4, m4a, m4v.

Если у вас был установлен мод «Thanks for posts», вы можете импортировать благодарности во встроенную в phpBBex систему оценки сообщений.

Внимание! В этой теме обсуждаем проблемы конвертации. Решение проблем с уже установленным форумом в этом форуме.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1667
С нами: 12 лет 6 месяцев


Сообщение #301 Numitor » 18.07.2014, 18:28

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

Во время запуска скрипта в phpmyadmin

Код: Выделить всё
SQL query:

-- Only for converting old merging data to new storing format
-- ALTER TABLE phpbb_posts ADD COLUMN post_merged int(11) UNSIGNED DEFAULT '0' NOT NULL AFTER post_time;
-- UPDATE phpbb_posts SET post_merged = post_time, post_time=post_created WHERE post_created != 0 AND post_merged = 0;
-- ALTER TABLE phpbb_posts DROP COLUMN post_created;
ALTER TABLE phpbb_topics ADD COLUMN poll_show_voters tinyint( 1 ) UNSIGNED DEFAULT '0' NOT NULL AFTER poll_vote_change,
ADD COLUMN topic_first_post_show tinyint( 1 ) UNSIGNED DEFAULT '0' NOT NULL AFTER poll_show_voters;

MySQL said: Documentation
#1060 - Duplicate column name 'topic_first_post_show'

Поможете?
Numitor
Репутация: 1
С нами: 10 лет 3 месяца

Сообщение #302 Sumanai » 18.07.2014, 18:32

Дубликат параметра. Скорее всего у вас уже стоял мод закрепления первого поста. Продолжайте выполнять запросы со следующего.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 9 месяцев

Сообщение #303 Numitor » 18.07.2014, 18:46

Спасибо за поддержку.
Следующая ощибка
Код: Выделить всё
Error

SQL query:

-- General scheme updates
CREATE TABLE phpbb_user_confirm_keys(
confirm_key varchar( 10 ) NOT NULL ,
user_id mediumint( 8 ) UNSIGNED NOT NULL ,
confirm_time int( 11 ) UNSIGNED NOT NULL ,
PRIMARY KEY ( confirm_key ) ,
KEY user_id( user_id )
) CHARACTER SET `utf8` COLLATE `utf8_bin` ;

MySQL said: Documentation
#1050 - Table 'phpbb_user_confirm_keys' already exists
Numitor
Репутация: 1
С нами: 10 лет 3 месяца

Сообщение #304 Sumanai » 18.07.2014, 18:54

Выполняйте запросы, начиная с предыдущей ошибки (всё, что до неё, уже выполнилось и повторно выполнять не нужно), то есть со строчки
Код: Выделить всё
ALTER TABLE phpbb_topics
   ADD COLUMN topic_priority mediumint(8) DEFAULT '0' NOT NULL AFTER topic_type,
   ADD INDEX topic_priority (topic_priority);
И дальше.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 9 месяцев

Сообщение #305 Numitor » 18.07.2014, 19:06

Рано обрадовался. При заходе на форум.
Код: Выделить всё
Общая ошибка
SQL ERROR [ mysql4 ]

Unknown column 'bbcode_order' in 'order clause' [1054]

SQL

SELECT bbcode_id, bbcode_tag, bbcode_helpline FROM phpbb_bbcodes WHERE display_on_posting = 1 ORDER BY bbcode_order, bbcode_tag

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/db/dbal.php
LINE: 757
CALL: trigger_error()

FILE: [ROOT]/includes/db/mysql.php
LINE: 193
CALL: dbal->sql_error()

FILE: [ROOT]/includes/functions_display.php
LINE: 1185
CALL: dbal_mysql->sql_query()

FILE: [ROOT]/includes/quick_reply.php
LINE: 204
CALL: display_custom_bbcodes()

FILE: [ROOT]/viewtopic.php
LINE: 2003
CALL: include('[ROOT]/includes/quick_reply.php')
Numitor
Репутация: 1
С нами: 10 лет 3 месяца

Сообщение #306 Sumanai » 18.07.2014, 19:20

Значит что- то непоследовательно выполнили. Вот этого запроса недостаёт:
Код: Выделить всё
ALTER TABLE phpbb_bbcodes
   ADD COLUMN bbcode_order smallint(4) DEFAULT '0' NOT NULL AFTER bbcode_id;
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 9 месяцев

Сообщение #307 Numitor » 18.07.2014, 19:21

Сейчас поправить уже ничего нельзя? Только через восстановление бэкапа?
Numitor
Репутация: 1
С нами: 10 лет 3 месяца

Сообщение #308 Sumanai » 18.07.2014, 19:51

Numitor:Сейчас поправить уже ничего нельзя?

Можно, почему бы и нет. Выполняйте недостающие запросы.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 9 месяцев

Сообщение #309 Numitor » 18.07.2014, 19:58

Уже успел восстановить бэкап :eh: , после запуска скрипта новая ошибка
Код: Выделить всё
Error

SQL query:

-- General scheme updates
CREATE TABLE phpbb_user_confirm_keys(
confirm_key varchar( 10 ) NOT NULL ,
user_id mediumint( 8 ) UNSIGNED NOT NULL ,
confirm_time int( 11 ) UNSIGNED NOT NULL ,
PRIMARY KEY ( confirm_key ) ,
KEY user_id( user_id )
) CHARACTER SET `utf8` COLLATE `utf8_bin` ;

MySQL said: Documentation
#1050 - Table 'phpbb_user_confirm_keys' already exists
Продолжать далее, без этого запроса?
Numitor
Репутация: 1
С нами: 10 лет 3 месяца

Сообщение #310 Sumanai » 18.07.2014, 20:06

Просто читайте и переводите то, что вам отвечает база данных. Table ххх already exists- Таблица ххх уже существует. Да, продолжайте.
Выполняйте запросы по одному, будет проще. В файле phpbbex.sql однотипные блоки разделены пустой строкой.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 9 месяцев

Сообщение #311 Numitor » 18.07.2014, 20:14

Спасибо за поддержу.
Работает. Вроде ошибок не вижу.

Подскажите (у меня русский интерфейс форума), в пункте 7. удалить нужно "Проверка обновлений" ?
Numitor
Репутация: 1
С нами: 10 лет 3 месяца

Сообщение #312 Sumanai » 18.07.2014, 20:50

Ну да. Хотя по идее должно отображаться именно ACP_VERSION_CHECK, так как языковая переменная удалена. Файлы точно заменены? Кеш чистили?
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 9 месяцев

Сообщение #313 Numitor » 18.07.2014, 21:32

Я не заменял файлы, я распаковал phpbbex в корень и сверху скопировал config.php.
Много модулей осталось на анг. языке, особенно ACP_Cleantalk, но я их отключил и удалил т.к. они давали ошибку "...no php...".
Действительно странно что ACP_VERSION_CHECK был по русски.
Numitor
Репутация: 1
С нами: 10 лет 3 месяца

Сообщение #314 Sumanai » 18.07.2014, 21:40

Numitor:Я не заменял файлы, я распаковал phpbbex в корень и сверху скопировал config.php.

Инструкции нужно выполнять. Написано же- удалить. У вас пару лишних языковых файлов осталось. Не беда, просто мусор.

Numitor:Много модулей осталось на анг. языке, особенно ACP_Cleantalk

Странно, что в инструкции ничего нет про сторонние модули.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 9 месяцев

Сообщение #315 Numitor » 18.07.2014, 22:47

Подскажите пожалуйста, как изменить цвет и расположение текста в шапке форума.
Я читал тему про установку своего лого. Но это несколько не то.
Numitor
Репутация: 1
С нами: 10 лет 3 месяца

Сообщение #316 Sumanai » 18.07.2014, 22:59

Ваш вопрос не относится к конвертации.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 9 месяцев

Сообщение #317 Numitor » 18.07.2014, 23:43

Извините. Спасибо за помощ.
Numitor
Репутация: 1
С нами: 10 лет 3 месяца

Сообщение #318 Numitor » 19.07.2014, 10:55

Еще раз здравствуйте.
на одной из тем, при редактировании получаю такую ошибку.
Модулей репутации нет.
Код: Выделить всё
Общая ошибка
SQL ERROR [ mysql4 ]

Unknown column 'poll_show_voters' in 'field list' [1054]

SQL

UPDATE phpbb_topics SET forum_id = 7, icon_id = 0, topic_approved = '1', topic_title = 'Тема для новобранца', topic_first_poster_name = 'Mentor', topic_type = 2, topic_time_limit = 0, topic_priority = 0, poll_title = '', poll_start = 0, poll_max_options = 0, poll_length = 0, poll_vote_change = 0, poll_show_voters = 0, topic_last_view_time = 1405756381, topic_attachment = 0 WHERE topic_id = 7

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/db/dbal.php
LINE: 757
CALL: trigger_error()

FILE: [ROOT]/includes/db/mysql.php
LINE: 193
CALL: dbal->sql_error()

FILE: [ROOT]/includes/functions_posting.php
LINE: 2100
CALL: dbal_mysql->sql_query()

FILE: [ROOT]/posting.php
LINE: 1157
CALL: submit_post()
Мне поможет?
Код: Выделить всё
ALTER TABLE phpbb_topics
   ADD COLUMN poll_show_voters tinyint(1) UNSIGNED DEFAULT '0' NOT NULL AFTER poll_vote_change;
Numitor
Репутация: 1
С нами: 10 лет 3 месяца

Сообщение #319 Sumanai » 19.07.2014, 16:01

Да, конечно. Но блоки разделяются пустой строгой, поэтому нужно вот так:
Код: Выделить всё
ALTER TABLE phpbb_topics
   ADD COLUMN poll_show_voters tinyint(1) UNSIGNED DEFAULT '0' NOT NULL AFTER poll_vote_change,
   ADD COLUMN topic_first_post_show tinyint(1) UNSIGNED DEFAULT '0' NOT NULL AFTER poll_show_voters;
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 9 месяцев

наименования прав на английском

Сообщение #320 Numitor » 20.07.2014, 22:34

Переносил базу 3.0.12. Не без косяков.
Подскажите, почему часть наименований прав осталась на английском?
Нужно ли с этим что либо делать и как?
В sql базе таких значений нет, модулей тоже нет.
Спойлер
Изображение
Numitor
Репутация: 1
С нами: 10 лет 3 месяца

Пред.След.

Вернуться в Мастерская 1.x