XF 1.5 Размещение симпатий в базе данных MySQL

DimmmCom

Проверенные
Сообщения
450
Решения
20
Реакции
930
Баллы
8,275
Всем привет. Парни, столкнулся с такой проблемой. Переезжаю с PHPBBEx на XenFORO. Встал вопрос о переносе репутации из PHPBBEx в симпатии XenFORO. Репутации от PHPBBEx в базе данных я нашёл, теперь вопрос, где в базе прописаны симпатии и возможно ли сделать SQL-запрос для автоматичесго переноса данных из одного поля в другое или нужно каждому пользователю отдельно переносить.
 
Если такого не предусмотрено при импорте - значит нужно самому дописывать функции
Дело в том, что phpbbex это не совсем phpbb, там много модивикаций в движке. И соответственно в ксеновском конверторе не предусмотрена возможность переноса этих репутаций. Так что известно где в базе прописаны симпатии?
 
Дело в том, что phpbbex это не совсем phpbb, там много модивикаций в движке. И соответственно в ксеновском конверторе не предусмотрена возможность переноса этих репутаций. Так что известно где в базе прописаны симпатии?
Под Xen есть репутация
 
Да мне без разницы в каком виде сделать репутацию на Ксене. Будь то встроенные симпатии или отдельным плагином. Если есть плагин то скажите название и где в базе делаются записи этих репутаций. Главная задача, чтобы репутация от phpbbex не пропала.
 
Да мне без разницы в каком виде сделать репутацию на Ксене. Будь то встроенные симпатии или отдельным плагином. Если есть плагин то скажите название и где в базе делаются записи этих репутаций. Главная задача, чтобы репутация от phpbbex не пропала.
Reputation System
 
Не совсем то конечно, хотелось бы чтобы за сообщение можно было просто поставить плюс. Мне не нужна возможность добавления разного количества очков. Просто если сообщение полезное, то + в репутацию. Мне кажется лишним загромождать базу ещё комментариями к плюсам, и так понятно, что плюс за сообщение. Лично моё мнение. В свете следующего мне кажется, что удобнее всего перенести репутацию из phpbb именно в симпатии Ксена.
 
Не совсем то конечно, хотелось бы чтобы за сообщение можно было просто поставить плюс. Мне не нужна возможность добавления разного количества очков. Просто если сообщение полезное, то + в репутацию. Мне кажется лишним загромождать базу ещё комментариями к плюсам, и так понятно, что плюс за сообщение. Лично моё мнение. В свете следующего мне кажется, что удобнее всего перенести репутацию из phpbb именно в симпатии Ксена.
Advanced Reputation System - вот такой плагин есть + пачка его вариантов переписанных на форуме. Там добавление как раз "очками". А по поводу переноса репутации с phpbb - руками из старой таблицы в новую соответственно полям перетащите и в принципе должно будет подхватить.
 
Exile, Спасибо за разные варианты, но решил переносить во встроенные симпатии.
Остался такой вопрос, можно ли SQL запросом перенести сразу все, если можно, то может подскажет кто сам запрос, кто разбирается в MySQL.
И ещё, в phpbb в таблице 4 поля, а в Ксене 6 полей.
phpbb_table.jpg xen_table.jpg
 
И ещё, в phpbb в таблице 4 поля, а в Ксене 6 полей.
Поле с content_type вы воссоздать можете по аналогии с другими, оно имеет в вашем случае одно значение - это тип того, чему поставлена симпатия. В данном случае сообщение (еще бывают сообщения в профиле, комментария к сообщениям профиля и т.п.). По поводу content_id и content_user_id - id сообщения и id пользователя, который его написал. Из таблицы xf_post подхватывать эти данные можно, учитывая возможное смещение id сообщений после импорта. А за помощью в написании sql запроса на соответствующие форумы.
 
возможное смещение id сообщений после импорта
Да вроде не должно быть смещений, я при импорте выставлял опцию сохранения ID.
А на этом форуме есть умельцы по SQL запросам? Готов отблагодарить материально. Просто я так понимаю
, человек должен хорошо ориентироваться в структуре базы данных XenFORO, где его как ни здесь искать )))

Столкнулся с проблемой. Чтобы перенести репутацию качественно с указанием в каких сообщения, кто и кому поставил "плюсы", нужно правки делать сразу в двух таблицах. С таблицей xf_liked_content разобрался с помощью Exile, а вот в таблице xf_post поле like_users хранит двоичные данные типа blob. Я так понимаю это очень трудоёмко.
Поковырялся в базе данных и понял, что можно пойти простым путём. В таблице phpbb_users есть поле user_rating_positive (положительная репутация), а в таблице xf_user есть поле like_count которое отображает симпатии пользователя в статистике под аватарами. При дальнейшем повышении симпатий, они добавляются к тем , что я в таблице добавил сам.
Я думаю SQL запрос с переносом данных с поля одной таблицы в поле другой таблицы у всех пользователей должен быть не сложным, может поможет кто, я отблагодарю.

В общем почитав два дня литературу по синтаксису SQL, запрос сам составил.
Может кому пригодится, кто будет переезжать именно с phpBBex -> phpBB -> XenFORO.
Перенос встроенной репутации phpbbex во встроенные симпатии xenforo:
Код:
UPDATE `test_dimmmcom_0`.`xf_user` , `test_dimmmcom_0`.`phpbb_users`
SET `like_count` = `phpbb_users`.`user_rating_positive`
WHERE `xf_user`.`user_id` = `phpbb_users`.`user_id`

Вместо test_dimmmcom_0 соответственно Ваша база данных.
Для тех, кто не сохранял ID при конвертации, в условии вместо столбцов user_id использовать username
Я понимаю, что это не полноценный перенос, т.к. не вносится информация о том кто и за что поставил плюс, но хоть так, возможно, если будет время доработаю SQL-запрос на полный перенос.
 
Последнее редактирование модератором:
У меня после похожих манипуляций не отображается кому именно понравился пост. Это как раз из-за не заполнения поля like_users. Но его генерировать действительно муторно.

Если кто подскажем как это сделать, было бы здорово!
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу