Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Error при апгрейде на 3.3.4

Делаю "репетицию" апгрейда с 2.0.0 на свежий 3.3.4 (лицензионный!!!!! )

 

Процесс застревает на следующем этапе:

доходит до вырубания на тайм-ауте

 

откатил всё назад. увеличил параметры таймаута до 900 секунд

погнал сначала и та же фигня (естественно до вырубания на таймауте прошло больше времени)

 

Плз срочнаааа пАмагите новичьку!!!!!

Что делать?

Где копать?

 

P.S. делал поиск на "16 запросов" и "16 queries". Безрезультатно

Рекомендованные сообщения

  • Автор

после апгрейда, все цитирования постов выглядят так:

2d9494bffad9.png

 

поиск порекомендовал сделать ребилд постов. что в принципе логично.

 

Запустил ребилд с дефолтным значением по 50 постов за цикл (из расчёта не жрать ресурсы, а пусть потихоньку ребилдится, не делая форум медленнее)

Грубо прикинул, что таким темпом процесс занял бы около суток. Но и это выдержал бы.

Проблема в том, что через какое то время процесс гавкнул на таймауте (кажется после часа)

 

Если запущу заново - то оно начнёт ребилдить с начала, а не с того места где прервалось. Или я ошибаюсь?

 

И ещё тупой вопрос (Не смеяться!):

Есть файл ./admin/applications/core/modules_admin/tools/rebuild.php

 

собственно там есть фрагменты, отвечающие за этот ребилд.

Можно ли их как то вытянуть в отдельный файл,добавить параметры коннекта к базе и запустить через ssh?

Откройте архив с дистрибутивом форума, найдите там в корне папку Tools. В ней файлик "rebuildPosts.php". Копируете его в корень форума, запускаете там через ssh. Там же рядом есть еще и rebuildPms.php, тоже может пригодиться, если вы при апгрейде этот этап пропустили.

В АЦ можно запустить пересчет начиная с любой страницы. Данные о номере сообщения с которого начинается очередной цикл и его шаге передаются скрипту в ссылке, методом $_GET. Если бы вы просто обновили страницу, где процесс остановился, то он продолжился бы с места останова, даже после повторной авторизации, если истекло время сессии. Это не только пересчета сообщений касается, а практически всех инструментов обновления и иногда бывает очень полезно.

Изменено пользователем Dmitriy427

  • Автор

Грамотнее наверное будет сначала отребилдить посты, а потом уже делать enable keys

или без разницы?

Индексы можно включить.

  • Автор

после ребилда цитаты исправлены

зато похерились смайлы

виден только :smiletext:

когда редактируешь пост, то возвращается сам смайлик

  • Автор

пробовал ребилднуть ещё раз. не прокатило :(

Нужно перенести старый набор смайлов (/style_emoticons/default/ на двойке) в директорию /public/style_emoticons/default/, затем акивировать каждый в менеджере смайлов, АЦ - Внешний вид - Сообщения - Смайлы.

Изменено пользователем Dmitriy427

  • Автор

Нужно перенести старый набор смайлов (/style_emoticons/default/ на двойке) в директорию /public/style_emoticons/default/, затем акивировать каждый в менеджере смайлов, АЦ - Внешний вид - Сообщения - Смайлы.

 

это всё не то. смайлики на месте. давно были перенесены.

я же писал выше, что как только тупо редактируешь пост - смайлик на месте (уже в окне редактирования виден)

 

если мне память не изменяет, то до ребилда который я затеял из за цитат - смайлики были видны.

Естественно они были видны, до ребилда, в базе были ссылки на старую дерикторию смайлов... Вы зайдите в менеджер, там все увидете, если смайл активен но нет соответствующего файла в папке или название не соответствует имени файла, то в сообщении и будет smiletext только.

  • Автор

с директорией всё нормально.

третий раз говорю - как только захожу редактировать пост, уже в окне редакторском смайлик виден.

если бы была лажа с директориями - была бы пустая картинка с эррором

Изменено пользователем Boris

То, что смайлики не сконвертировались - это баг. Они в новой версии в базе хранятся в виде картинок, и становятся картинками после открытия их в редакторе. А вот ребилд постов их картинками не делает.

 

Что-то я делал на этот счет, когда конвертировал последний форум. Поищу.

Ну, уже говорил по поводу апдейтера - в 3.3.4 он глючный. Про беспроблемные обновления с двойки не слышал пока. Обновились бы в 2 этапа, сэкономили бы кучу времени...

  • 4 недели спустя...
  • Автор

Только сейчас заметил что в процесс апгрейда то что было в старых постах под спойлером накрылось.

В базе всё сохранилось. Но самого текста что был под спойлером на форуме не видно.

 

Как я вижу в 3.3.х в базе спойлер хранится тэгом как и виден в редакторе текста.

 

Думаю решить это серией реплейсов.

 

1)начало открывающего тега спойлер до "заголовка"

UPDATE ibf_posts
SET post=REPLACE(post,'<!--SPOILER BEGIN--><div class="quotetop" onClick="OpenSpoiler('fd08ee683da9db4dcb552488caf5dfe7')" style="cursor: hand"><b><u>« <!--SPOILER TITLE-->','[spoiler='')[/sql]

 
2) окончание открывающего тега после "заголовка"
[sql]
UPDATE ibf_posts
SET post=REPLACE(post,'<!--SPOILER TITLE END--> »</u></b></div><div class="quotemain" id="fd08ee683da9db4dcb552488caf5dfe7" style="display:none"><!--SPOILER END-->','']')

 

3)закрывающий тег

UPDATE ibf_posts
SET post=REPLACE(post,'<!--SPOILER DIV--></div><!--SPOILER DIV-->','[/spoiler]')

 

далее, как я понимаю, придётся делать ребилд постов

 

 

ВОПРОСЫ:

1)Правилен ли подход? Есть ли что нибудь порациональнее?

2)у каждого спойлера есть id из 32 знаков. в приведенном выше примере это fd08ee683da9db4dcb552488caf5dfe7.

помогите, пожалуйста, откорректировать запросы и внедрить в них REGEXP на 32 знака в соответствующем месте.

 

Спасибо

 

 

P.S. вижу тут уже косяк с одинарными кавычками

в тех местах где написана замена я писал 39; (без пробела)

но сам id в оригинале действительно заключён в одинарные кавычки. и этому тоже надо найти решение

Изменено пользователем Boris

Пересчет и обновления -> Перестройка контента:[сообщений] запускали?

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.