Ошибки в БД после обновления до версии 1.1.7

Автор Шева, 27 января 2009, 05:07:07

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Шева

После обновления форума до версии 1.1.7  + php до версии 5.2.8  + Apache до версии 2.2.11
В TinyPortal v0.9.8 и форуме начали вылазить ошибки:

При добавлении комментария к статье:
ЦитироватьField 'subtype' doesn't have a default value
Файл: x:\xxx\xxx\Sources\TPmodules.php
Строка: 234
Примечание: Возможно Вашей базе данных требуется обновление. Версия файлов Вашего форума SMF 1.1.7, тогда как версия Вашей базы данных 1.1.4. Для устранения ошибки обновите, пожалуйста, форум.

При редактировании смайлов:
ЦитироватьYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LENGTH(code) DESC' at line 2
Файл: x:\xxx\xxx\Sources\ManageSmileys.php
Строка: 654
Примечание: Возможно Вашей базе данных требуется обновление. Версия файлов Вашего форума SMF 1.1.7, тогда как версия Вашей базы данных 1.1.4. Для устранения ошибки обновите, пожалуйста, форум.

С смайлами еще мириться можно, они таки правятся несмотря на выскакивающую ошибку. А вот с добавлением комментариев к статьям таки плохо.

Как исправить данные ошибки?
Каждый человек способен на многое. Но к сожалению, не каждый знает, на что он способен.

Mavn

Поиск
Скачиваешь manual db install с офф сайте ТП закачиваешь в корень форума и запускаешь. Данный скрипт отвечает за создание бд. Поскольку у тебя есть ошибки в самой бд по идее он их поправит.
бэкап конечно само сабой нужно сделать перед манипуляциями
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Шева

Не поверишь, уже проводил такую операцию. Результат отрицательный. :(
Каждый человек способен на многое. Но к сожалению, не каждый знает, на что он способен.

Mavn

структуру таблицы smf_variables можешь кинуть?
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Шева

#4
Цитата: Mavn от 27 января 2009, 11:16:50
структуру таблицы smf_variables можешь кинуть?
Будь ласка (Пожалуйста)  :)

-- Структура таблицы `smf_tp_variables`
CREATE TABLE IF NOT EXISTS `smf_tp_variables` (
  `id` int(11) NOT NULL auto_increment,
  `value1` text NOT NULL,
  `value2` text NOT NULL,
  `value3` text NOT NULL,
  `type` tinytext NOT NULL,
  `value4` text NOT NULL,
  `value5` int(11) NOT NULL default '-2',
  `subtype` tinytext NOT NULL,
  `value7` text NOT NULL,
  `value8` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=102 ;


Если я правильно понял то именно smf_tp_variables (портальной системы) а не smf_variables.  ::)
Но мне почему то кажется что тут как раз все правильно. Видать это связано именно с обновлением PHP и Apache. Ну а это тянет за собой правку скриптов, а именно, правильное обращение к БД. Я не прав?

На всяк случай код строчек из ...Sources/TPmodules.php 
// insert the comment
db_query("INSERT INTO {$tp_prefix}variables (value1,value2,value3,type,value4,value5)
VALUES('$title','$comment','$ID_MEMBER','article_comment','$time',$article)", __FILE__, __LINE__);
Каждый человек способен на многое. Но к сожалению, не каждый знает, на что он способен.

Mavn

прав там проблема как раз и возникает на php 5 и mysql 5 на 4 версии вроде как без ошибок работает
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Шева

#6
В Апаче как и в PHP выявлены дыры, поэтому и обновился. Возвращаться к старой уж точно не буду. Но вот как решить возникшую проблему вот в чем вопрос. :(
Что посоветуешь Mavn ?

p.s. Сообщение о старой версии бд понятное дело убрал, правкой  smfVersion в таблице smf_settings.
А вот как исправить скрипт TPmodules.php чтобы работал с новыми версиями PHP, MySQL ?
Каждый человек способен на многое. Но к сожалению, не каждый знает, на что он способен.

Шева

Такс... кажись нашел как исправить данную ошибку.
Правим в БД в таблице smf_tp_variables поля:
subtype     
value7    
value8
Меняем в этих полях вместо NOT NULL ставим NULL
Должно выглядеть примерно так (смотрим скриншот ниже, NULL обведены красным)

p.s. Не знаю правильно ли я сделал, но комментарии начали работать.
Каждый человек способен на многое. Но к сожалению, не каждый знает, на что он способен.

Mavn

Блок обещался исправить в новой версии но патча если честно для текущей(098) не видел на офф сайте хотя может быть и ошибаюсь.
В принципе по идее движешься в правильном направлении... если ругается на то что нет значения по умолчанию почему бы не задать его.

Кстати те версии что вышли 1.0.5. и 1.0.6 далеко не так стабильно о чем в общем и сам Блок писал. возможно скоро появится версия 1.0.7 по крайней мере в альфа тестировании уже есть а там существенные изменения по сравнению с тем что есть в паблике
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Шева

Кстати, пробовал ставить 1.0.5 версию TP на релиз 1.1.7 форума - таже самая трабла. Да еще и другие ошибки повылазили.
Когда везде где выскакивали ошибки исправил NOT NULL на NULL все стало работать. ;)

p.s. Но совет всем кто держит сервера. Обновите PHP, Apache, MySQL
Тут вот посмотрите http://viruslist.com/ru/advisories/28046
Каждый человек способен на многое. Но к сожалению, не каждый знает, на что он способен.

Mavn

На самом деле если и использовать ТП 1.0 то даже лучше 1.0.6 но никак не 1.0.5 (слишком много ошибок в ней)
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.