При попытке установить флаги для любого письма в некоторых ящиках стала вылетать ошибка. В вебе это выглядело как “Ошибка сети”, в логах:
Caused by: java.sql.SQLException: Cannot add or update a child row: a foreign key constraint fails (`mboxgroup95`.`tagged_item`, CONSTRAINT `fk_tagged_item_tag` FOREIGN KEY (`mailbox_id`, `tag_id`) REFERENCES `tag` (`mailbox_id`, `id`) ON DELETE CASCADE)
Query is: REPLACE INTO mboxgroup95.tagged_item(mailbox_id, tag_id, item_id) VALUES (?, ?, ?), parameters [395,-6,15998]
Причина – из таблицы tag исчезли записи для всех флагов, принадлежащих определённому ящику. Их надо добавить вручную. Как-то так:
use mboxgroup95; INSERT INTO `tag` (`mailbox_id`, `id`, `name`, `color`, `item_count`, `unread`, `listed`, `sequence`, `policy`) VALUES ('128','-3','\\Answered',NULL,0,0,0,1,NULL); INSERT INTO `tag` (`mailbox_id`, `id`, `name`, `color`, `item_count`, `unread`, `listed`, `sequence`, `policy`) VALUES ('128','-10','\\Unread',NULL,0,0,0,1,NULL); INSERT INTO `tag` (`mailbox_id`, `id`, `name`, `color`, `item_count`, `unread`, `listed`, `sequence`, `policy`) VALUES ('128','-13','\\Versioned',NULL,0,0,0,1,NULL); INSERT INTO `tag` (`mailbox_id`, `id`, `name`, `color`, `item_count`, `unread`, `listed`, `sequence`, `policy`) VALUES ('128','-4','\\Forwarded',NULL,0,0,0,1,NULL); INSERT INTO `tag` (`mailbox_id`, `id`, `name`, `color`, `item_count`, `unread`, `listed`, `sequence`, `policy`) VALUES ('128','-12','\\Bulk',NULL,0,0,0,1,NULL); INSERT INTO `tag` (`mailbox_id`, `id`, `name`, `color`, `item_count`, `unread`, `listed`, `sequence`, `policy`) VALUES ('128','-2','\\Attached',NULL,0,0,0,1,NULL); INSERT INTO `tag` (`mailbox_id`, `id`, `name`, `color`, `item_count`, `unread`, `listed`, `sequence`, `policy`) VALUES ('128','-15','\\Popped',NULL,0,0,0,1,NULL); INSERT INTO `tag` (`mailbox_id`, `id`, `name`, `color`, `item_count`, `unread`, `listed`, `sequence`, `policy`) VALUES ('128','-19','\\Muted',NULL,0,0,0,1,NULL); INSERT INTO `tag` (`mailbox_id`, `id`, `name`, `color`, `item_count`, `unread`, `listed`, `sequence`, `policy`) VALUES ('128','-9','\\Notified',NULL,0,0,0,1,NULL); INSERT INTO `tag` (`mailbox_id`, `id`, `name`, `color`, `item_count`, `unread`, `listed`, `sequence`, `policy`) VALUES ('128','-11','\\Urgent',NULL,0,0,0,1,NULL); INSERT INTO `tag` (`mailbox_id`, `id`, `name`, `color`, `item_count`, `unread`, `listed`, `sequence`, `policy`) VALUES ('128','-17','\\Priority',NULL,0,0,0,1,NULL); INSERT INTO `tag` (`mailbox_id`, `id`, `name`, `color`, `item_count`, `unread`, `listed`, `sequence`, `policy`) VALUES ('128','-1','\\Sent',NULL,0,0,0,1,NULL); INSERT INTO `tag` (`mailbox_id`, `id`, `name`, `color`, `item_count`, `unread`, `listed`, `sequence`, `policy`) VALUES ('128','-7','\\Draft',NULL,0,0,0,1,NULL); INSERT INTO `tag` (`mailbox_id`, `id`, `name`, `color`, `item_count`, `unread`, `listed`, `sequence`, `policy`) VALUES ('128','-18','\\Post',NULL,0,0,0,1,NULL); INSERT INTO `tag` (`mailbox_id`, `id`, `name`, `color`, `item_count`, `unread`, `listed`, `sequence`, `policy`) VALUES ('128','-16','\\Note',NULL,0,0,0,1,NULL); INSERT INTO `tag` (`mailbox_id`, `id`, `name`, `color`, `item_count`, `unread`, `listed`, `sequence`, `policy`) VALUES ('128','-24','\\Invite',NULL,0,0,0,1,NULL); INSERT INTO `tag` (`mailbox_id`, `id`, `name`, `color`, `item_count`, `unread`, `listed`, `sequence`, `policy`) VALUES ('128','-8','\\Deleted',NULL,0,0,0,1,NULL); INSERT INTO `tag` (`mailbox_id`, `id`, `name`, `color`, `item_count`, `unread`, `listed`, `sequence`, `policy`) VALUES ('128','-5','\\Copied',NULL,0,0,0,1,NULL); INSERT INTO `tag` (`mailbox_id`, `id`, `name`, `color`, `item_count`, `unread`, `listed`, `sequence`, `policy`) VALUES ('128','-6','\\Flagged',NULL,0,0,0,1,NULL);
Здесь первое поле – это идентификатор ящика пользователя!! Не группы ящиков! Его смотреть в базе данных zimbra, таблица mailbox.
Обсуждение закрыто.