форум vBSupport.ru > vBulletin > Вопрос — Ответ
Register Меню vBsupport Изображения Files Manager О рекламе Today's Posts Search
  • Родная гавань
  • Блок РКН снят
  • Premoderation
  • For English speaking users
  • Каталог Фрилансеров
  • If you want to buy some product or script
  • Администраторам
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
for English speaking users:
You may be surprised with restriction of access to the attachments of the forum. The reason is the recent change in vbsupport.org strategy:

- users with reputation < 10 belong to "simple_users" users' group
- if your reputation > 10 then administrator (kerk, Luvilla) can decide to move you into an "improved" group, but only manually

Main idea is to increase motivation of community members to share their ideas and willingness to support to each other. You may write an article for the subject where you are good enough, you may answer questions, you may share vbulletin.com/org content with vbsupport.org users, receiving "thanks" equal your reputation points. We should not only consume, we should produce something.

- you may:
* increase your reputation (doing something useful for another members of community) and being improved
* purchase temporary access to the improved category:
10 $ for 3 months. - this group can download attachments, reputation/posts do not matter.
20 $ for 3 months. - this group can download attachments, reputation/posts do not matter + adds eliminated + Inbox capacity increased + files manager increased permissions.

Please contact kerk or Luvilla regarding payments.

Important!:
- if your reputation will become less then 0, you will be moved into "simple_users" users' group automatically.*
*for temporary groups (pre-paid for 3 months) reputation/posts do not matter.
Уважаемые пользователи!

На форуме открыт новый раздел "Каталог фрилансеров"

и отдельный раздел для платных заказов "Куплю/Закажу"

Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже:
Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
 
 
 
 
MKproff
Продвинутый
Default Переход с версии 3.0 на 4.1.4 и с ср1251 на utf8
5

Уже больше шести лет на моем сайте крутятся форумы на "3.00 Gold" Вобле. За это время код, естественно, был весь перепахан. Вовремя не обновился и оказался лишен возможности использования плагинов, а потом было просто жалко терять все доработки, да и времени, особо, не было. Потом ждал 4-ку, потом еще чего-то, но вот вышла 4.1.4 с вшитым CKEditor-ом и это меня сломило.

Решил переходить, не взирая на то, что все доработки придется переписывать снова, хотя, как оказалось, очень многое уже реализовано.

Итак, переходить решено с cp1251 на UTF-8, чтоб уже не заморачиваться с кодировками в дальнейшем.

После перехода не удалось сохранить фотографию из профиля пользователя (не аватару) и папки пользователя с подписками и с письмами (подписки и письма не пострадали, просто оказались в одной куче)

Для перехода понадобится два дистрибутива. Какой-нибудь из старших троек, у меня оказался 3.8.4 и собственно 4.1.4. Это связано с тем, что 3.0 сразу до четверки не обновить.

Запасаемся временем и начинаем
  1. Для начала читаем этот топик: http://thelogin.ru/wiki/%D0%9F%D0%B5...BD%D0%B0_UTF-8
  2. Внимание!!! Если у Вас вложения хранятся в базе, переведите их в файловую систему. (Идут постоянные споры, как надо хранить BLOB-ы в файлах или базе, эта ситуация яркий пример почему надо хранить в файловой системе.)
  3. Удалите или перенесите нафиг все от старого форума, оставьте только папки с вложениями аватарами и т. п. У меня это все лежало в папке "images", я только ее и оставил
  4. Загружаем с заменой (заменяться будут только всякие смайлики иконки и т. п. с совпадающими названиями, но они нам не нужны - смело заменяем) дистрибутив фрума VB версии 3.8.4 (или другой старшей трешки)
  5. Делаем бекап базы. Для удобства редактирования разбиваем его на три части. Сохраняем в UTF8. Привожу команды для выполнения на серваке
    Где:
    VB_USER заменить на пользователя БД;
    TABLEPREFIX_ заменить на свой префикс таблиц;
    VB_DB заменить на Вашу базу данных;
    ########################################################################################
    mysqldump --default-character-set=utf8 --skip-set-charset -u VB_USER -p --add-drop-table -a -B -e --opt VB_DB --tables TABLEPREFIX_access TABLEPREFIX_adminhelp TABLEPREFIX_administrator TABLEPREFIX_adminlog TABLEPREFIX_adminutil TABLEPREFIX_announcement TABLEPREFIX_attachmenttype TABLEPREFIX_attachmentviews TABLEPREFIX_avatar TABLEPREFIX_bbcode TABLEPREFIX_calendar TABLEPREFIX_calendarcustomfield TABLEPREFIX_calendarmoderator TABLEPREFIX_calendarpermission TABLEPREFIX_cron TABLEPREFIX_cronlog TABLEPREFIX_datastore TABLEPREFIX_deletionlog TABLEPREFIX_duel TABLEPREFIX_editlog TABLEPREFIX_event TABLEPREFIX_faq TABLEPREFIX_forum TABLEPREFIX_forumpermission TABLEPREFIX_holiday TABLEPREFIX_icon TABLEPREFIX_imagecategory TABLEPREFIX_imagecategorypermission TABLEPREFIX_konkurs TABLEPREFIX_language TABLEPREFIX_mailqueue TABLEPREFIX_moderation TABLEPREFIX_moderator TABLEPREFIX_moderatorlog TABLEPREFIX_passwordhistory TABLEPREFIX_phrase TABLEPREFIX_phrasetype TABLEPREFIX_pm TABLEPREFIX_pmreceipt TABLEPREFIX_pmtext TABLEPREFIX_poll TABLEPREFIX_pollvote TABLEPREFIX_post > tables1.sql
    ########################################################################################
    mysqldump --default-character-set=utf8 --skip-set-charset -u VB_USER -p --add-drop-table -a -B -e --opt VB_DB --tables TABLEPREFIX_attachment TABLEPREFIX_customavatar TABLEPREFIX_customprofilepic > tables2.sql
    ########################################################################################
    mysqldump --default-character-set=utf8 --skip-set-charset -u VB_USER -p --add-drop-table -a -B -e --opt VB_DB --tables TABLEPREFIX_post_parsed TABLEPREFIX_posthash TABLEPREFIX_postindex TABLEPREFIX_profilefield TABLEPREFIX_ranks TABLEPREFIX_regimage TABLEPREFIX_reminder TABLEPREFIX_reputation TABLEPREFIX_reputationlevel TABLEPREFIX_search TABLEPREFIX_session TABLEPREFIX_setting TABLEPREFIX_settinggroup TABLEPREFIX_smilie TABLEPREFIX_stats TABLEPREFIX_strikes TABLEPREFIX_style TABLEPREFIX_subscribeevent TABLEPREFIX_subscribeforum TABLEPREFIX_subscribethread TABLEPREFIX_subscription TABLEPREFIX_subscriptionlog TABLEPREFIX_template TABLEPREFIX_thread TABLEPREFIX_threadrate TABLEPREFIX_threadviews TABLEPREFIX_upgradelog TABLEPREFIX_user TABLEPREFIX_useractivation TABLEPREFIX_userban TABLEPREFIX_userfield TABLEPREFIX_usergroup TABLEPREFIX_usergroupleader TABLEPREFIX_usergrouprequest TABLEPREFIX_usernote TABLEPREFIX_userpromotion TABLEPREFIX_usertextfield TABLEPREFIX_usertitle > tables3.sql
    ########################################################################################
  6. Получаем три файла tables1.sql, tables2.sql и tables3.sql в кодировке UTF-8
    Обратите внимание, что в бекап не включена таблица "word", она в новой версии не нужна, все придется переиндексировать заново
  7. Последовательно меняем в файлах дампа слово "cp1251" на "utf8"
  8. Создаем новую БД, назовем ее, например, "forum_vb4". Создаем ее в кодировке "utf8_general_ci"
  9. Загружаем последовательно в нее наши дампы
    mysql -u VB_USER -p --default-character-set=utf8 forum_vb4 < tables1.sql
    ---------------
    mysql -u VB_USER -p --default-character-set=utf8 forum_vb4 < tables2.sql
    ----------------
    mysql -u VB_USER -p --default-character-set=utf8 forum_vb4 < tables3.sql
    ----------------
  10. Создаем недостающую таблицу
    CREATE TABLE `TABLEPREFIX_word` ( `wordid` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `title` char(50) NOT NULL DEFAULT '',
    PRIMARY KEY (`wordid`),
    UNIQUE KEY `title` (`title`)
    ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
  11. Создаем в папке "icludes" файл config.php с нужными настройками соединения с БД и в конце файла раскомментируем строку "$config['Mysqli']['charset'] = 'utf8';"
  12. (Этот шаг можно пропустить, если не меняли папку установки) В таблице setting находим в поле "value" путь, где хранятся файлы вложений и меняем его на нужный нам
  13. В таблице language меняем поле "charset" с "Windows-1251" на "UTF-8"
  14. Запускаем /install/upgrade.php
    Если вываливается ошибка "Invalid SQL:SELECT varname, value, datatype FROM setting;
    MySQL Error : Unknown column 'datatype' in 'field list' "
    То выполняем в базе SQL:
    ------
    ALTER TABLE TABLEPREFIX_setting ADD datatype ENUM('free', 'number', 'boolean', 'bitfield', 'username') NOT NULL DEFAULT 'free'
    ------
  15. Запускаем снова install/upgrade.php
  16. В процессе нас просят не забыть после окончания установки переместить все вложения в БД, а потом вернуть в файловую систему. Иначе они не будут отображаться. НЕ ЗАБЫТЬ!!!!
  17. По окончании установки перемещаем вложения в базу и обратно (довольно быстрый процесс)
  18. Для решения проблемы со входом в личный кабинет (папки сообщений озаглавлены по русски) выполняем SQL :
    ---------
    UPDATE `TABLEPREFIX_usertextfield` SET subfolders = '', pmfolders = '' ---------
    (очищаем проблемные поля)
  19. Загружаем дистрибутив поверх п 4.1.3
  20. Обновляем (install/upgrade.php)
  21. По окончании установки надо обновить счетчики. Что и где обновлять написоно в конце установки.
  22. Обязательно перестоить миниатюры вложений. В админке в "Обслуживание -> Обновление счётчиков -> Перестроить миниатюры вложений. Перестроить (довольно долгий процесс)
Ну вот и все. Работа долгая, т. ч. готовтесь, особенно, если данных много.

Теперь начинаю ковырять систему модулей на 4-ке.

Буду рад, если кому-то помог.

К сожалению, не могу здесь часто появляться. По этому прошу прощения, если не смогу сразу ответить на какие-то вопросы, хотя старался описАть все максимально подробно.
С уважением ко всем, Михаил.

MKproff добавил 16.06.2011 в 21:32
Не могу исправить в первом посте.
Пункт №19 "Загружаем дистрибутив 4.1.4 поверх 3.8.4"

Last edited by MKproff : 06-16-2011 at 10:32 PM. Reason: Добавлено сообщение
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
Тиджик
Продвинутый
 
Тиджик's Avatar
Default
1

Quote:
3.0 на 4.1.4 и с ср1251 на utf8
Пробовали, сбежали, уж лучше прищепки на соски

Тиджик добавил 17.06.2011 в 01:33
Легче всего перекодировать базу с помощью Sypex Dumper

Last edited by Тиджик : 06-17-2011 at 02:33 AM. Reason: Добавлено сообщение
 
 
MKproff
Продвинутый
Default
1

Quote:
Originally Posted by Тиджик View Post
Легче всего перекодировать базу с помощью Sypex Dumper
Забыл написать:
п. 7 Последовательно меняем в файлах дампа слово "cp1251" на "utf8" на Linux это делается с помощью "sed"
sed -i~ 's/cp1251/utf8/g' tables1.sql tables2.sql tables3.sql
При этом, на всякий случай создаются, новые файлы, а старые переименовываются с добавлением постфикса "~" Вот как-то так: "tabless3.sql~"
 
 
Luvilla
Гость
Default

Тема перенесена из раздела Кандидатский

MKproff, хорошая тема. Но случай, описанный Вами, уж больно экзотичен. Чтобы одновременно и переход с довольно старой линейки на самую свежую 4ку и смена кодировки... поэтому подробное обсуждение Вашей статьи считаю ненужным. Если у кого-то будет аналогичный случай, думаю, Ваша инструкция пригодится.

Если Вы сделаете подробную пошаговую инструкцию, как обновиться с 3.8 на 4.1.4 и уделите внимание проблемам, которые при этом могут возникнуть, и решению этих проблем - вот это будет замечательно.
 
 
MKproff
Продвинутый
Default
0

Quote:
Originally Posted by Luvilla View Post
Тема перенесена из раздела Кандидатский

MKproffЕсли Вы сделаете подробную пошаговую инструкцию, как обновиться с 3.8 на 4.1.4 и уделите внимание проблемам, которые при этом могут возникнуть, и решению этих проблем - вот это будет замечательно.
Не знаю, может мне повезло, но проблем небыло никаких, все прошло идеально гладко. Основной совет, запастись временем и сделать все сначала на дубле (копии) форума и базы, отработать тактику и решить все проблемы с именно Вашим форумом. И ничего страшного и.
Удачи всем!
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 08:46 PM.


Powered by vBulletin® Version 3.7.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.