Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
leonovich

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

Recommended Posts

Господа, помогите исправить, где то ошибка при обновлении с 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 

Share this post


Link to post
Share on other sites

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

  • Upvote 1

Share this post


Link to post
Share on other sites

Спасибо, сбросил, прошел 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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

 


Ошибка
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 

 

 

Share this post


Link to post
Share on other sites

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

  • Upvote 1

Share this post


Link to post
Share on other sites

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

 

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

Edited by leonovich

Share this post


Link to post
Share on other sites

Спасите помогите.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}

 

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
SELECT * FROM core_hooks WHERE id=603;

  • Upvote 1

Share this post


Link to post
Share on other sites

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

Пишите еще.

\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

Share this post


Link to post
Share on other sites
Но в приложении нет email-шаблона new_feedback_follower

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

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

  • Upvote 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...