Перенос БД с LogicBoard 5.1 на Bullet-Energy-1.3

Часть первая - перенос одной темы  Инструменты, без которых нам не жить...Sypex Dumper [са"йпэкс
  1. Оффлайн

    Автор темы

    WYLEK

    Звание: Легенда

    Админ

    Сообщений: 2179

    Создано тем: 315

    Рейтинг: 10

    Репа: (245|245|0)

    Баллы: 3405

    Был: 2024-04-28 20:29

    Лайков: 196

    40
    Часть первая - перенос одной темы




    order  Инструменты, без которых нам не жить...

    Sypex Dumper [са"йпэкс да"мпер] — это программный продукт (PHP-скрипт), с помощью которого можно просто и быстро создать резервную копию (бекап, бэкап, дамп) базы данных MySQL, а также восстановить в случае необходимости базу данных из резервной копии.

    Скачать бесплатный дампер и профессиональный для PHP-7.1 можно здесь
    pointer Но, профи работает только на локалке!


    Долго я не мог решиться перенести большой объем данных с LogicBoard 5.1 на Bullet-Energy-1.3, да и в нете информации ноль. За денежку программер тоже начал ломаться - то таблицы разные, то скрипт писать надо, и на этом все затихло.  Засел сам за сие дело, в phpMyAdmin изучил строение таблиц этих форумов, разного много, но то что надо для переноса есть в обоих таблицах.

    Вот что читает LogicBoard

    INSERT INTO `lb_posts3` (`pid`, `topic_id`, `new_topic`, `text`, `post_date`, `edit_date`, `post_member_id`,
     `post_member_name`, `ip`, `hide`, `fixed`, `attachments`, `edit_member_id`, `edit_member_name`, `edit_reason`, 
    `moder_member_id`, `moder_member_name`, `moder_reason`, `moder_date`, `utility`, `htmlbr`, `moderation`) VALUES


    а это Bullet-Energy

    INSERT INTO `dle_be_message5` (`id`, `id_topic`, `autors_id`, `message_autor`, `message_autor_ip`, `message_date`,
     `message_text`, `message_approve`, `tree_id`, `msg_edit_date`, `edit_autor`, `edit_quote`, `user_thanks`, `thanks`, `attachment`,
     `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;
    set @i:= 1709;
    update 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



    На хостинге запускаете бекапер, жмете Импорт, выбираете базу данных(если не одна), файл что залили и жмете кнопку Выполнить
    ahtungДальше все как на локалке - читайте отсюда А теперь последнее,  жмем слева dle_be_message1, потом вкладку Операции и выставить опции так






    44 В следующей части будет - перенос категории, например как у меня 80 тем сразу.
    Сообщение отредактировал WYLEK 29 января 2023 - 14:10

    19 августа 2018 - 08:25 / #1

Статистика форума, пользователей онлайн: 1 (за последние 20 минут)

Создано тем
1177
Всего сообщений
15352
Пользователей
17852
Новый участник
Astarot