Конвертация базы из phpBB 3 в phpBBex

Board index phpBBex 1.x Мастерская

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

Post #1by 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 систему оценки сообщений.

Внимание! В этой теме обсуждаем проблемы конвертации. Решение проблем с уже установленным форумом в этом форуме.
Last edited by Sumanai on 11.05.2015, 12:44, edited 1 time in total.
Reason: Дополнение про phpbb_captcha_nogd
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 32
Location: Минск, Беларусь
Reputation: 1576
With us: 7 years 6 months


Post #201by sag-sag » 12.08.2013, 22:17

Помогите: при выполнении в базе скрипт /install/phpbbex.sql вот такая ошибка выскакивает:

Code: Select all
Ошибка
SQL-запрос:

-- 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: Документация

#1050 - Table 'phpbb_user_confirm_keys' already exists

Added after 20 minutes 2 seconds:
Вроде что-то вышло. Теперь такая:
Code: Select all
ALTER TABLE phpbb_bbcodes ADD COLUMN bbcode_order SMALLINT( 4 ) DEFAULT  '0' NOT NULL AFTER bbcode_id;
Заметки администратора [TEHADM.RU]
sag-sag M
Гуру
Avatar
Age: 33
Reputation: 399
With us: 6 years 3 months

Post #202by Sumanai » 13.08.2013, 00:28

sag-sag wrote:Вроде что-то вышло. Теперь такая:

Похоже на запрос, а не на ошибку, выдаваемую сервером.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1667
With us: 6 years 9 months

Post #203by sag-sag » 13.08.2013, 00:39

Тогда вот решил все по новуму сделать.

По поводу выполнения скрипта:
Code: Select all
/install/phpbbex.sql
я в PhpMyAdmin выбираю свою базу и выбираю SQL.
В окне Выполнить SQL-запрос(ы) к базе данных название базы: (выполняю скрипт)
Code: Select all
/install/phpbbex.sql

Если так правильно, то появляется такая ошибка:
Code: Select all
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '/install/phpbbex.sql' at line 1
Заметки администратора [TEHADM.RU]
sag-sag M
Гуру
Avatar
Age: 33
Reputation: 399
With us: 6 years 3 months

Post #204by VEG » 13.08.2013, 01:13

sag-sag, вы должны в поле SQL вставить содержимое файла phpbbex.sql. Если же во время выполнения скрипта вываливаются ошибки — скорее всего у вас был модифицированный phpBB 3 с изменённой структурой базы. Самый простой вариант избавиться от проблем при конвертации — это вернуть структуру базы в исходное состояние (без модов). Для этого на первом этапе, когда у вас в каталоге ещё файлы обычного phpBB, вы должны установить официальный STK и использовать там функцию очистки базы от лишних полей и таблиц. После этого уже при дальнейшей установке проблем не должно возникнуть. Внимание! Всегда перед подобными работами делайте резервные копии!
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 32
Location: Минск, Беларусь
Reputation: 1576
With us: 7 years 6 months

Post #205by sag-sag » 13.08.2013, 01:20

Вот я лошара))) Теперь скрипт выполнил, но вот такая ошибка появилась:
Code: Select all
SELECT (
@new_bbcode_id := GREATEST( MAX( bbcode_id ) +1, 17 )
)
FROM phpbb_bbcodes

Буду базу чистить

Added after 16 minutes 38 seconds:
Почистил! теперь такая ошибка:
Code: Select all
SQL-запрос:

-- 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: Документация

#1050 - Table 'phpbb_user_confirm_keys' already exists
Заметки администратора [TEHADM.RU]
sag-sag M
Гуру
Avatar
Age: 33
Reputation: 399
With us: 6 years 3 months

Post #206by Sumanai » 13.08.2013, 01:57

sag-sag wrote:Почистил! теперь такая ошибка:

Начинайте с исходной позиции, чистите и конвертируйте. Вы судя по всему сначала попытались конвертировать, потом почистили, а потом опять пытались конвертировать. Само собой некоторые таблицы уже существуют. Возьмите исходную копию базы данных и последовательно выполняйте действия по конвертации, почистив на первом этапе. И вообще при появлении ошибок лучше откатываться в исходную позицию, и добиться, чтобы конвертация прошла без ошибок.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1667
With us: 6 years 9 months

Post #207by sag-sag » 13.08.2013, 09:27

Вообщем, благо, что на форуме не очень много информации. Перенесу вручную.

Наделал такого, что теперь и бекап база ошибку выдает. Спасибо за помощь!
Заметки администратора [TEHADM.RU]
sag-sag M
Гуру
Avatar
Age: 33
Reputation: 399
With us: 6 years 3 months

Post #208by Sumanai » 13.08.2013, 10:09

sag-sag wrote:Наделал такого, что теперь и бекап база ошибку выдает.

В смысле? Если бекап делался с рабочего форума- он обязан быть рабочим.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1667
With us: 6 years 9 months

Post #209by sag-sag » 13.08.2013, 10:30

Сейчас попробую еще...
Заметки администратора [TEHADM.RU]
sag-sag M
Гуру
Avatar
Age: 33
Reputation: 399
With us: 6 years 3 months

Post #210by sag-sag » 15.08.2013, 17:38

Ура конвертнул!! Всего только одна ошибка вылезла:

Code: Select all
SELECT (
@new_bbcode_id := GREATEST( MAX( bbcode_id ) +1, 17 )
)
FROM phpbb_bbcodes

Все отлично!
Заметки администратора [TEHADM.RU]
sag-sag M
Гуру
Avatar
Age: 33
Reputation: 399
With us: 6 years 3 months

Post #211by VEG » 15.08.2013, 19:02

sag-sag, вы хвост после этого кода:
Code: Select all
-- Resolve conflicts with the new system bbcodes
DELETE FROM phpbb_bbcodes WHERE bbcode_tag IN ('s', 'tt', 'upd', 'upd=', 'spoiler', 'spoiler=');
SELECT (@new_bbcode_id:=GREATEST(MAX(bbcode_id)+1, 17)) FROM phpbb_bbcodes;
UPDATE phpbb_bbcodes SET bbcode_id=@new_bbcode_id WHERE bbcode_id = 13;
SELECT (@new_bbcode_id:=GREATEST(MAX(bbcode_id)+1, 17)) FROM phpbb_bbcodes;
UPDATE phpbb_bbcodes SET bbcode_id=@new_bbcode_id WHERE bbcode_id = 14;
SELECT (@new_bbcode_id:=GREATEST(MAX(bbcode_id)+1, 17)) FROM phpbb_bbcodes;
UPDATE phpbb_bbcodes SET bbcode_id=@new_bbcode_id WHERE bbcode_id = 15;
SELECT (@new_bbcode_id:=GREATEST(MAX(bbcode_id)+1, 17)) FROM phpbb_bbcodes;
UPDATE phpbb_bbcodes SET bbcode_id=@new_bbcode_id WHERE bbcode_id = 16;
отдельно выполняли или нет? Если нет, то его нужно выполнить, иначе у вас будут ошибки валиться. MySQL при ошибке перестаёт выполнять дальнейшие инструкции. Поэтому при проблемах следует оставшуюся часть выполнять отдельно.
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 32
Location: Минск, Беларусь
Reputation: 1576
With us: 7 years 6 months

Post #212by sag-sag » 15.08.2013, 20:44

Нет не выполнял.
То есть мне надо выполнить этот код:
Code: Select all
-- Resolve conflicts with the new system bbcodes
DELETE FROM phpbb_bbcodes WHERE bbcode_tag IN ('s', 'tt', 'upd', 'upd=', 'spoiler', 'spoiler=');
SELECT (@new_bbcode_id:=GREATEST(MAX(bbcode_id)+1, 17)) FROM phpbb_bbcodes;
UPDATE phpbb_bbcodes SET bbcode_id=@new_bbcode_id WHERE bbcode_id = 13;
SELECT (@new_bbcode_id:=GREATEST(MAX(bbcode_id)+1, 17)) FROM phpbb_bbcodes;
UPDATE phpbb_bbcodes SET bbcode_id=@new_bbcode_id WHERE bbcode_id = 14;
SELECT (@new_bbcode_id:=GREATEST(MAX(bbcode_id)+1, 17)) FROM phpbb_bbcodes;
UPDATE phpbb_bbcodes SET bbcode_id=@new_bbcode_id WHERE bbcode_id = 15;
SELECT (@new_bbcode_id:=GREATEST(MAX(bbcode_id)+1, 17)) FROM phpbb_bbcodes;
UPDATE phpbb_bbcodes SET bbcode_id=@new_bbcode_id WHERE bbcode_id = 16;

правильно?
Заметки администратора [TEHADM.RU]
sag-sag M
Гуру
Avatar
Age: 33
Reputation: 399
With us: 6 years 3 months

Post #213by Sumanai » 15.08.2013, 20:45

Да, правильно.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1667
With us: 6 years 9 months

Post #214by sag-sag » 15.08.2013, 20:46

Но ошибка опять вылезла
Заметки администратора [TEHADM.RU]
sag-sag M
Гуру
Avatar
Age: 33
Reputation: 399
With us: 6 years 3 months

Post #215by Sumanai » 15.08.2013, 21:03

Какая на этот раз?
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1667
With us: 6 years 9 months

Post #216by VEG » 15.08.2013, 21:08

sag-sag wrote:То есть мне надо выполнить этот код:
Вам нужно выполнить код, который в файле phpbbex.sql находится после этого кода. Сам этот код выполнять уже не нужно. Возможно, я не совсем понятно написал :)
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 32
Location: Минск, Беларусь
Reputation: 1576
With us: 7 years 6 months

Post #217by sag-sag » 15.08.2013, 21:15

А ! Дошло!))

Added after 6 minutes 22 seconds:
Теперь такая ошибка:
Code: Select all
SQL-запрос:

-- Post rates
CREATE TABLE phpbb_post_rates(

user_id MEDIUMINT( 8 ) UNSIGNED NOT NULL ,
post_id MEDIUMINT( 8 ) UNSIGNED NOT NULL ,
rate TINYINT( 4 ) NOT NULL DEFAULT  '0',
rate_time INT( 11 ) UNSIGNED NOT NULL DEFAULT  '0',
PRIMARY KEY ( user_id, post_id ) ,
KEY post_id( post_id ) ,
KEY user_id( user_id )
) CHARACTER SET  `utf8` COLLATE  `utf8_bin` ;

Ответ MySQL: Документация

#1050 - Table 'phpbb_post_rates' already exists

Но форум работает отлично!
Заметки администратора [TEHADM.RU]
sag-sag M
Гуру
Avatar
Age: 33
Reputation: 399
With us: 6 years 3 months

Post #218by Sumanai » 15.08.2013, 21:58

БД ответила "Таблица существует", грубо говоря. То есть вы уже выполняли этот запрос.

VEG wrote:Возможно, я не совсем понятно написал :)
Ага. Даже я не так понял :smile:
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1667
With us: 6 years 9 months

Post #219by sag-sag » 16.08.2013, 22:15

Спасибо всем! Все классно работает! Очень доволен, что перешел с phpBB на phpBBex! Тут все просто: поставил форум и работай, а в phpBB еще надо доставлять куча всего.

P.S. одно мне не нравится в phpBB вообще - так это Права доступа. До этого сидел на ucoz (хотя его многие не навидят), но Права доступа, там сделаны намного удобнее!!! Тут с первого раза без стакана не разберешься!
Заметки администратора [TEHADM.RU]
sag-sag M
Гуру
Avatar
Age: 33
Reputation: 399
With us: 6 years 3 months

Post #220by pisikot » 30.09.2013, 19:26

Все привет.
Пробую перевести последний форум на phpbbex, последний как всегда самый трудный.
Форуму 6 лет и изначально был на phpbb2, шас phpbb3 куча модов (половина точно уже не нужных, типо галереи и рейтинга юзеров)

Вообщем пытаюсь через STK очистить БД, в шаге
Reset Bots
Would you like to reset the bots list to the default phpBB3 bot list? All existing bots will be removed and be replaced with the default set.

вылетает

Code: Select all
SQL ERROR [ mysql4 ]

Table '300913.phpbb3_mchat' doesn't exist [1146]

SQL

UPDATE phpbb3_mchat SET user_id = 1 WHERE user_id = 943

BACKTRACE

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

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

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

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

FILE: [ROOT]/includes/functions_user.php
LINE: 360
CALL: mchat_user_fix()

FILE: [ROOT]/stk/includes/database_cleaner/database_cleaner_controller.php
LINE: 78
CALL: user_delete()

FILE: (not given by php)
LINE: (not given by php)
CALL: database_cleaner_controller->bots()

FILE: [ROOT]/stk/tools/support/database_cleaner.php
LINE: 188
CALL: call_user_func()

FILE: [ROOT]/stk/index.php
LINE: 284
CALL: database_cleaner->run_tool()

не пойму как боты связаны с мчатом, тем более мчат я предварительно деинсталировал.
Коллекционирую бирдекели, меняться будем?)
pisikot M
Мастер
Avatar
Age: 31
Location: Тюмень, Россия
Reputation: 43
With us: 7 years 1 month

PreviousNext

Return to Мастерская