Перейти к публикации
View in the app

A better way to browse. Learn more.

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

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

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

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

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.