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

Обновление Trader Feedback System 2.2.2

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

Господа, помогите исправить, где то ошибка при обновлении с 3ки на 4ку

 

При установке приложение создает такие запросы

 

UPDATE `ibf_feedback_feedback` SET `fb_date`=0 WHERE `fb_date` IS NULL;
CREATE TABLE `ibf_feedback_feedback_new` LIKE `ibf_feedback_feedback`;

 

Эти два проходят без проблем, на следующем ошибка:

 

#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key

 

ALTER TABLE `ibf_feedback_feedback_new` ADD COLUMN `fb_id` MEDIUMINT (8) UNSIGNED NOT NULL AUTO_INCREMENT , DROP INDEX `receiver`, ADD KEY `receiver` (`fb_receiver_id`,`fb_date`,`fb_type`), DROP INDEX `sender`, ADD KEY `sender` (`fb_sender_id`,`fb_date`), CHANGE COLUMN `fb_date` `fb_date` INT (10) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Date feedback left', ADD COLUMN `fb_sender_id` MEDIUMINT (8) NOT NULL DEFAULT 0 COMMENT 'Member ID of member that is leaving the feedback', ADD COLUMN `fb_receiver_id` MEDIUMINT (8) NOT NULL DEFAULT 0 COMMENT 'Member ID of member that the feedback is for', ADD COLUMN `fb_ip` VARCHAR (46) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '' , ADD COLUMN `fb_comment` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL , ADD COLUMN `fb_rating` TINYINT (1) NOT NULL DEFAULT 0 COMMENT 'Feedback rating, 0 = Negative, 1 = Neutral, 2 = Positive', ADD COLUMN `fb_content_id` INT (10) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'I.e. Topic ID, Classifieds Item ID', ADD COLUMN `fb_type` TINYINT (1) NOT NULL DEFAULT 0 COMMENT 'Feedback type, 0 = Sender is Buyer, 1 = Sender is Seller, 2 = Trade/Swap', DROP INDEX `PRIMARY`, ADD PRIMARY KEY (`fb_id`);

 

 

Далее должны идти следующие запросы, но на 3м все клинит :(

 

INSERT IGNORE INTO `ibf_feedback_feedback_new` SELECT * FROM `ibf_feedback_feedback`;
DROP TABLE `ibf_feedback_feedback`;
RENAME TABLE `ibf_feedback_feedback_new` TO `ibf_feedback_feedback`;
ALTER TABLE `ibf_core_members` CHANGE COLUMN `feedb_percent` `feedb_percent` TINYINT (3) NULL DEFAULT -1 ALTER TABLE `ibf_core_members` CHANGE COLUMN `feedb_pos` `feedb_pos` SMALLINT (5) NULL DEFAULT 0 
ALTER TABLE `ibf_core_members` CHANGE COLUMN `feedb_neg` `feedb_neg` SMALLINT (5) NULL DEFAULT 0 
ALTER TABLE `ibf_core_members` CHANGE COLUMN `feedb_neu` `feedb_neu` SMALLINT (5) NULL DEFAULT 0 
ALTER TABLE `ibf_core_groups` ADD COLUMN `feedback_add` TINYINT (1) NULL DEFAULT 0 
ALTER TABLE `ibf_core_groups` ADD COLUMN `feedback_edit` INT (10) NULL DEFAULT 0 
ALTER TABLE `ibf_core_groups` ADD COLUMN `feedback_flood` INT (10) NULL DEFAULT 0 
ALTER TABLE `ibf_core_groups` ADD COLUMN `feedback_captcha` TINYINT (1) NULL DEFAULT 0 

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


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

CREATE TABLE LIKE копирует структуру таблицы донора, в том числе и индексы. В таблице может быть одно автоинкрементируемое поле которое должно быть индексом. Если вы выполняете запросы вручную, перед выполнением третьего посмотрите структуру таблицы ibf_feedback_feedback_new и удалите AUTO_INCREMENT у поле с этим значением.

  • Upvote 1

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


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

Спасибо, сбросил, прошел 3 запрос :) теперь на 4м запросе заклинило :(

 

Ошибка

SQL-запрос:

 

INSERT IGNORE INTO `ibf_feedback_feedback_new`

SELECT *

FROM `ibf_feedback_feedback` ;

 

 

Ответ MySQL: #1136 - Column count doesn't match value count at row 1

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


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

Количество полей в первой таблице не соответствует количеству полей из второй. Предыдущий запрос прошел нормально? Сравните структуру этих двух таблиц.

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


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

Да, наштамповало там лишних полей игнорируя ошибку, удалил

Теперь полезло с другой стороны

 


Ошибка
SQL-запрос:

ALTER TABLE  `ibf_core_members` CHANGE COLUMN  `feedb_percent`  `feedb_percent` TINYINT( 3 ) NULL DEFAULT -1 ALTER TABLE  `ibf_core_members` CHANGE COLUMN  `feedb_pos`  `feedb_pos` SMALLINT( 5 ) NULL DEFAULT 0 ALTER TABLE  `ibf_core_members` CHANGE COLUMN  `feedb_neg`  `feedb_neg` SMALLINT( 5 ) NULL DEFAULT 0 ALTER TABLE  `ibf_core_members` CHANGE COLUMN `feedb_neu`  `feedb_neu` SMALLINT( 5 ) NULL DEFAULT 0 ALTER TABLE  `ibf_core_groups` ADD COLUMN  `feedback_add` TINYINT( 1 ) NULL DEFAULT 0 ALTER TABLE  `ibf_core_groups` ADD COLUMN `feedback_edit` INT( 10 ) NULL DEFAULT 0 ALTER TABLE  `ibf_core_groups` ADD COLUMN  `feedback_flood` INT( 10 ) NULL DEFAULT 0 ALTER TABLE  `ibf_core_groups` ADD COLUMN  `feedback_captcha` TINYINT( 1 ) NULL DEFAULT 0

Ответ MySQL: 

#1064 - 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 'ALTER TABLE `ibf_core_members` CHANGE COLUMN `feedb_pos` `feedb_pos` SMALLINT (5' at line 1 

 

 

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


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

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

  • Upvote 1

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


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

Вот это я дал)))) Извиняюсь, копирнул не глядя, прошли запросы, спасибо огромное за помощь :)

 

Пока не закрывайте пожалуйста тему.

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

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


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

Спасите помогите.unsure.gifСнова это приложение.... https://invisioncommunity.com/files/file/3366-trader-feedback-system/

Перед тем как писать, отключил все плагины и приложения, все 100 раз проверил.

Разраб на морозе, грит у тебя какой то плагин сбой дает.... но это не так!

Не систематично вылетает ошибка при использовании этого приложения, отзыв ставится - но вылетает ошибка и пользователи начинают клепать отзывы снова......dry.gif

 LogicException:  (0)
#0   /ps4.in.ua/system/Email/Email.php(481): IPS\_Email::devProcessTemplate('email__feedback...', '\xD0\xA5\xD1\x82\xD0\xBE\xD1\x81\xD1\x8C \xD0\xB7\xD0\xB0...', Array, 'plaintext')
#1   /ps4.in.ua/system/Email/Email.php(819): IPS\_Email->compileSubject(Object(IPS\Member), Object(IPS\Lang))
#2   /ps4.in.ua/system/Notification/Notification.php(574): IPS\_Email->mergeAndSend(Array, NULL, NULL, Array, Object(IPS\Lang))
#3   /ps4.in.ua/init.php(588) : eval()'d code(16): IPS\_Notification->sendEmails(Array, Array)
#4   /ps4.in.ua/system/Notification/Notification.php(555): IPS\hook603->sendEmails(Array, Array)
#5   /ps4.in.ua/applications/feedback/sources/Feedback/Feedback.php(266): IPS\_Notification->send()
#6   /ps4.in.ua/applications/feedback/modules/front/feedback/form.php(160): IPS\feedback\_Feedback->save()
#7   /ps4.in.ua/system/Dispatcher/Controller.php(96): IPS\feedback\modules\front\feedback\_form->manage()
#8   /ps4.in.ua/system/Dispatcher/Dispatcher.php(152): IPS\Dispatcher\_Controller->execute()
#9   /ps4.in.ua/index.php(13): IPS\_Dispatcher->run()
#10 {main}

 

 

 

ОБРАТНАЯ ТРАССИРОВКА

 


#0 /ps4.in.ua/init.php(659): IPS\_Log::log('LogicException:...', 'uncaught_except...')
#1 [internal function]: IPS\IPS::exceptionHandler(Object(LogicException))
#2 {main}

 

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


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

Ну, судя по логам корни действительно растут от какого-то хука - hook603 при отправке уведомления на емайл.

Нужно смотреть в бд какому плагину он принадлежит.

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


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

Подскажите, каким образом искать этот хук в БД?unsure.gif

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


Ссылка на сообщение
SELECT * FROM core_hooks WHERE id=603;

  • Upvote 1

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


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

Разраб на морозе, грит у тебя какой то плагин сбой дает.... но это не так!

Пишите еще.

\applications\feedback\sources\Feedback\Feedback.php

			/* Send notifications to followers */
		$notification	= new \IPS\Notification( \IPS\Application::load( 'feedback' ), 'new_feedback_follower', $this, array( $this ) );

Но в приложении нет email-шаблона new_feedback_follower

  • Upvote 3

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


Ссылка на сообщение
Но в приложении нет email-шаблона new_feedback_follower

Об этом подумал и я. Аналогичная проблема была тут http://ipbskins.ru/forum/topic15859.html#entry106309 Уведомление отправлялось на емайл, а шаблон для него отсутствовал в итоге выбрасывалось исключение а скрипт не отрабатывал до конца.

В настройках уведомлений в АЦ нужно отключить для этого события емайл отправку.

  • Upvote 1

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


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

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

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

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

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