Перенос БД с LogicBoard 5.1 на Bullet-Energy-1.3
Часть первая - перенос одной темы Инструменты, без которых нам не жить...Sypex Dumper [са"йпэкс
-
Оффлайн
Автор темы
Звание: Легенда
Админ
Сообщений: 2237
Создано тем: 323
Рейтинг: 10
Репа:
(246|246|0)
Баллы: 4035
Был: 2025-11-10 19:14
Лайков: 220
Часть первая - перенос одной темы
Инструменты, без которых нам не жить...
Sypex Dumper [са"йпэкс да"мпер] — это программный продукт (PHP-скрипт), с помощью которого можно просто и быстро создать резервную копию (бекап, бэкап, дамп) базы данных MySQL, а также восстановить в случае необходимости базу данных из резервной копии.
Скачать бесплатный дампер и профессиональный для PHP-7.1 можно здесь
Но, профи работает только на локалке!
Долго я не мог решиться перенести большой объем данных с LogicBoard 5.1 на Bullet-Energy-1.3, да и в нете информации ноль. За денежку программер тоже начал ломаться - то таблицы разные, то скрипт писать надо, и на этом все затихло. Засел сам за сие дело, в phpMyAdmin изучил строение таблиц этих форумов, разного много, но то что надо для переноса есть в обоих таблицах.
Вот что читает LogicBoardINSERT INTO `lb_posts3` (`pid`, `topic_id`, `new_topic`, `text`, `post_date`, `edit_date`, `post_member_id`,"n `post_member_name`, `ip`, `hide`, `fixed`, `attachments`, `edit_member_id`, `edit_member_name`, `edit_reason`, "n`moder_member_id`, `moder_member_name`, `moder_reason`, `moder_date`, `utility`, `htmlbr`, `moderation`) VALUES
а это Bullet-EnergyINSERT INTO `dle_be_message5` (`id`, `id_topic`, `autors_id`, `message_autor`, `message_autor_ip`, `message_date`,"n `message_text`, `message_approve`, `tree_id`, `msg_edit_date`, `edit_autor`, `edit_quote`, `user_thanks`, `thanks`, `attachment`,"n `is_warning_id`, `position`, `fixap_msg`) VALUES
Сравнил таблицы и выбрал одинаковые столбцы, самое интересное, что нужно в правильном порядке записать названия столбцов, иначе phpMyAdmin тупо перенесет данные в том порядке, что был. Сделал так.
id, id_topic, autors_id, message_autor, message_autor_ip, message_date, message_text - Bullet-Energy
pid, topic_id, post_member_id, post_member_name, ip, post_date, text - LogicBoard
Теперь надо посмотреть сколько сообщений нужно перенести.
ID топика берем в адресной строке.
Вытащить данные топика можно так
Но мы пойдем другим путем, надо создать пустую таблицу форума Bullet-Energy
Для этого жмем слева dle_be_message
Потом вкладку Операции и выставить опции так (имя базы данных у вас свое).
Теперь жмем вкладку SQL и вставляем запрос. Он вытащит из базы данных форума LogicBoard данные и перенесет их в таблицу dle_be_message1. Число 122 взято из адресной строки. Жмем кнопку ВпередINSERT INTO dle_be_message1 (id, id_topic, autors_id, message_autor, message_autor_ip, message_date, message_text) SELECT pid, topic_id, post_member_id, post_member_name, ip, post_date, text FROM lb_posts WHERE topic_id IN (122)
phpMyAdmin радостно выдал сообщение
Теперь осталось совсем немного, поменять значения id, id_topic, message_approve, tree_id и position, хотя последнее необязательно, форум сам расставит значения сообщений по порядку после запуска в админцентре трех верхних функций Перестроение кэша и пересчёт параметров форума.
Где же брать нужные значения? Создадим пост с названием Поговорим?2
Заходим в новость и в адресной строке находится искомое число
id_topic - 638
Теперь найдем число последнего сообщения. В phpMyAdmin нажмите dle_be_message и перейдите на последнее сообщение
Вот и искомое число
id - 1709
Сообщения, ставим 1
message_approve - 1
Число категории берем в адресной строке
tree_id - 41
Ну, и во вкладке SQL вставляем запрос.UPDATE dle_be_message1 set id_topic = 638, message_approve = 1, tree_id = 41;"nset @i:= 1709;"nupdate dle_be_message1 set id = (@i := @i+1 ) order by id;
Теперь надо отсортировать по ID - просто клацните по ячейке.
А теперь последнее, жмем слева dle_be_message1, потом вкладку Операции и выставить опции так
Нажмите кнопку Вперед и дело в шляпе. Заходим в админценр форума и перестраиваем кеш - надо нажать верхние три кнопки
И только теперь смотрим результат своей эпопеи....
Удалите свое сообщение, оно последнее и теперь все как на картинке выше форума LogicBoard
Количество просмотров меняем так - нажмите dle_be_topic, потом перейдите на последнее сообщение и нажмите карандаш для редактирования.
Меняем на нужное количество просмотров.
В локалке данные перенесли и все работает, но, теперь назревает вопрос - как это провернуть на хостинге??? Да очень просто, для этого есть инструмент Sypex Dumper. Так как на хостинге профи не работает, его заливаем в корень сайта на локалку. Заходим в браузер и в адресной строке вставляем http://ваш сайт/sxd_pro. Программа запустится и в окне вставьте имя и пароль базы данных , взять его можно по адресу C:OSPaneldomainsваш сайтenginedatadbconfig.php
Теперь надо убрать все галочки - двойной клик по верхнему чекбоксу, и выбрать dle_be_message1.
После создания бекапа зайдите в Файлы, выделите нужный и скачайте его. Теперь залейте на хостиг в папку backup бекапера - ваш сайтsypdumpackup
На хостинге запускаете бекапер, жмете Импорт, выбираете базу данных(если не одна), файл что залили и жмете кнопку Выполнить
Дальше все как на локалке - читайте отсюда А теперь последнее, жмем слева dle_be_message1, потом вкладку Операции и выставить опции так
В следующей части будет - перенос категории, например как у меня 80 тем сразу.Сообщение отредактировал WYLEK 29 января 2023 - 14:1019 августа 2018 - 08:25 / #1
Статистика форума, пользователей онлайн: 0 (за последние 20 минут)
---
- Создано тем
- 1223
- Всего сообщений
- 16512
- Пользователей
- 18286
- Новый участник
- mitya_baburin
Powered by Bullet Energy Forum
