Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Boris

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

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

Если в скрипте disable keys написать enable и запустить - обрубается на таймауте.

Бгг. А вы все скрипты запускайте через ssh :)

 

В директории форума команда:

$ php имя_скрипта.php

 

Никакие таймауты будут вам не страшны. Скрипты адаптированы под универсальное использование - и конвертер, и "включалка" индексов. Таймаут из-за того, что "включение" сопровождается перестроением полных индексов для всех таблиц.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

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

2d9494bffad9.png

 

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

 

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

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

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

 

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

 

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение

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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
09/04/12 10:28 (изменено)

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

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

Поделиться сообщением


Ссылка на сообщение

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

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

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

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

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение
09/14/12 14:59 (изменено)

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

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

Поделиться сообщением


Ссылка на сообщение

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

 

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

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

 

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение
09/14/12 16:44 (изменено)

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

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

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

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

Поделиться сообщением


Ссылка на сообщение

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

 

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение
10/13/12 16:46 (изменено)

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

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

 

Как я вижу в 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 пользователей

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

×
×
  • Создать...